def __get__(self, instance: typing.Optional[typing.Any], owner: typing.Any) -> typing.Callable[..., typing.Any]:
if instance is None or self.__instance_method is None:<EOL><INDENT>if self.__class_method is None:<EOL><INDENT>raise AttributeError()<EOL><DEDENT>@functools.wraps(self.__class_method)<EOL>def class_method(*args: typing.Any, **kwargs: typing.Any) -> typing.Any:<EOL><INDENT>"""<STR_LIT>"""<EOL>return self.__class_method(owner, *args, **kwargs)  <EOL><DEDENT>return class_method<EOL><DEDENT>@functools.wraps(self.__instance_method)<EOL>def instance_method(*args: typing.Any, **kwargs: typing.Any) -> typing.Any:<EOL><INDENT>"""<STR_LIT>"""<EOL>return self.__instance_method(instance, *args, **kwargs)  <EOL><DEDENT>return instance_method<EOL>
Get descriptor.

        :return: class method or instance method depends on call behavior
        :rtype: typing.Callable
        :raises AttributeError: Not implemented getter for class method and called class context.