<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def getter(self, fget):
 """ Change the getter for this descriptor to use to get the value :param fget: Function to call with an object as its only argument :type fget: Callable[[Any], Any] :return: self, so this can be used as a decorator like a `property` :rtype: CachedProperty """

        if getattr(self, '__doc__', None) is None:
            self.__doc__ = getattr(fget, _FUNC_DOC, None)
        if self.name is None:
            self.name = getattr(fget, _FUNC_NAME, None)
        self._getter = fget
        return self