code: final public static function fromArray(array $data = [])
      {
          if (null === self::$serializer) {
              self::$serializer = new PhpArraySerializer();
          }
  
          if (!isset($data[Schema::PBJ_FIELD_NAME])) {
              $data[Schema::PBJ_FIELD_NAME] = static::schema()->getId()->toString();
          }
  
          $message = self::$serializer->deserialize($data);
          return $message;
      }
docs: {@inheritdoc}
  @return static