def unregistercls(self, schemacls=None, data_types=None):
        """Unregister schema class or associated data_types.

        :param type schemacls: sub class of Schema.
        :param list data_types: data_types to unregister.
        """
        if schemacls is not None:

            # clean schemas by data type
            for data_type in list(self._schbytype):
                _schemacls = self._schbytype[data_type]
                if _schemacls is schemacls:
                    del self._schbytype[data_type]

        if data_types is not None:

            for data_type in data_types:
                if data_type in self._schbytype:
                    del self._schbytype[data_type]