next = $next; return $next; } abstract public function process( Account $account, LocalMessage $localMessage, Horde_Imap_Client_Socket $client, ): LocalMessage; protected function processNext( Account $account, LocalMessage $localMessage, Horde_Imap_Client_Socket $client, ): LocalMessage { if ($this->next !== null) { return $this->next->process($account, $localMessage, $client); } return $localMessage; } }