/**
  * will push command and return first line of response
  *
  * @param   $payload
  * @return  array
  * @throws  ResponseErrorException
  */
 protected function push(...$payload)
 {
     foreach ((array) $this->getCommand(...$payload) as $command) {
         $this->connection->write($command);
         $this->connection->write(self::CRLF);
         $this->connection->flush();
     }
     return $this->validateReturn(trim($this->connection->readLine()));
 }