class_docstr: A strategy which is defined purely by conversion to and from another
  strategy.
  
  Its parameter and distribution come from that other strategy.
class_docstr_tok: ["A","strategy","which","is","defined","purely","by","conversion","to","and","from","another","strategy",".","Its","parameter","and","distribution","come","from","that","other","strategy","."]
code: def wrapped_strategy(self):
      if self.__wrapped_strategy is None:
          unwrapped_args = tuple(
              unwrap_strategies(s) for s in self.__args
          )
          unwrapped_kwargs = {
              k: unwrap_strategies(v) for k, v in self.__kwargs.items()
          }
  
          base = self.function(*self.__args, **self.__kwargs)
          if (
              unwrapped_args == self.__args
              and unwrapped_kwargs == self.__kwargs
          ):
              self.__wrapped_strategy = base
          else:
              self.__wrapped_strategy = self.function(
                  *unwrapped_args, **unwrapped_kwargs
              )
          for f in self.__filters:
              self.__wrapped_strategy = self.__wrapped_strategy.filter(
                  f
              )
      return self.__wrapped_strategy
  
file_path: catboost/contrib/python/hypothesis/py3/hypothesis/strategies/_internal/lazy.py
imports: from inspect import signature
  from typing import MutableMapping
  from weakref import WeakKeyDictionary
  from hypothesis.internal.reflection import convert_keyword_arguments, convert_positional_arguments, get_pretty_function_description, repr_call
  from hypothesis.strategies._internal.strategies import SearchStrategy
label_desc: Use image node_id 6 for calling the LazyStrategy obj's underlying member method code with example usage: obj.wrapped_strategy() and returns: self