*/ final class CopyCommand implements CommandInterface { private readonly MessageTransferCommand $command; public function __construct( FetchTarget|string|SequenceSet|null $target = null, string $destinationMailbox = '', ) { $this->command = new MessageTransferCommand('COPY', $target, $destinationMailbox); } public function name(): string { return $this->command->name(); } public function allowedStates(): array { return $this->command->allowedStates(); } public function encode(string $tag, SessionContext $context): RequestFrame { return $this->command->encode($tag, $context); } public function handle(ResponseStream $responses, SessionContext $context): MessageTransferResult { return $this->command->handle($responses, $context); } }