public static function fromArray(array $data = [])
    {
        if (isset($data['curie'])) {
            $id = isset($data['id']) ? $data['id'] : 'null';
            $tag = isset($data['tag']) ? $data['tag'] : null;
            return new self(SchemaCurie::fromString($data['curie']), $id, $tag);
        }
        throw new InvalidArgumentException('Payload must be a MessageRef type.');
    }
public static function fromArray(array $data = [])
    {
        if (isset($data['curie'])) {
            $id = isset($data['id']) ? $data['id'] : 'null';
            $tag = isset($data['tag']) ? $data['tag'] : null;
            return new self(SchemaCurie::fromString($data['curie']), $id, $tag);
        }
        throw new InvalidArgumentException('Payload must be a MessageRef type.');
    }
{@inheritdoc}