@classmethod
def from_dict_or_instance(cls, data, **kwargs):
    """
        check if ``data`` is already a :class:`ZoopObject` or
        ``subclass``.


        If not call :meth:`from_dict`.

        Args:
            data: dict of data or instance
            **kwargs: kwargs

        Returns:
            instance initialized of ``cls``
        """
    if isinstance(data, cls):
        return data
    else:
        return cls.from_dict(data, **kwargs)
