/**
  * @param array $data
  *
  * @return self
  */
 public static function create(array $data)
 {
     Assert::keyExists($data, 'created_at');
     Assert::keyExists($data, 'mailbox');
     Assert::keyExists($data, 'login');
     $sizeBytes = array_key_exists('size_bytes', $data) ? $data['size_bytes'] : null;
     $createdAt = new \DateTime($data['created_at']);
     $mailbox = $data['mailbox'];
     $login = $data['login'];
     Assert::nullOrInteger($sizeBytes);
     Assert::isInstanceOf($createdAt, '\\DateTime');
     Assert::string($mailbox);
     Assert::string($login);
     return new self($sizeBytes, $createdAt, $mailbox, $login);
 }