def __get__(self, obj, objtype=None):
        if self._lazy and self._cache in objtype:
            return self._cache[objtype]

        if objtype is not None:
            # The base property.__get__ will just return self here;
            # instead we pass objtype through to the original wrapped
            # function (which takes the class as its sole argument)
            val = self.fget.__wrapped__(objtype)
        else:
            val = super(classproperty, self).__get__(obj, objtype=objtype)

        if self._lazy:
            if objtype is None:
                objtype = obj.__class__

            self._cache[objtype] = val

        return val
dataset/ETHPy150Open spacetelescope/PyFITS/pyfits/util.py/classproperty.__get__/swapped operands of `in`