class_docstr: A strategy which may be used before it is fully defined.
class_docstr_tok: ["A","strategy","which","may","be","used","before","it","is","fully","defined","."]
code: def wrapped_strategy(self):
      if self.__wrapped_strategy is None:
          if not inspect.isfunction(self.__definition):
              raise InvalidArgument(
                  (
                      "Excepted a definition to be a function but got %r of type"
                      " %s instead."
                  )
                  % (
                      self.__definition,
                      type(self.__definition).__name__,
                  )
              )
          result = self.__definition()
          if result is self:
              raise InvalidArgument(
                  "Cannot define a deferred strategy to be itself"
              )
          if not isinstance(result, SearchStrategy):
              raise InvalidArgument(
                  (
                      "Expected definition to return a SearchStrategy but "
                      "returned %r of type %s"
                  )
                  % (result, type(result).__name__)
              )
          self.__wrapped_strategy = result
          del self.__definition
      return self.__wrapped_strategy
  
file_path: catboost/contrib/python/hypothesis/py2/hypothesis/strategies/_internal/deferred.py
imports: from __future__ import absolute_import, division, print_function
  import inspect
  from hypothesis.errors import InvalidArgument
  from hypothesis.internal.reflection import get_pretty_function_description
  from hypothesis.strategies._internal.strategies import SearchStrategy
label_desc: Use image node_id 2 for calling the DeferredStrategy obj's underlying member method code with example usage: obj.wrapped_strategy() and returns: self