/** * * @param IHasShipments $receiver * @param Callable $filter */ public function deliver(IHasShipments $receiver, $filter = null) { $protocol = new Protocol($this->getClerk(), $receiver); $protocol->doTransfer($filter); }