code: def __cache( self, method_name, *args, **kwargs ):
          
          trace_string           = util.get_stack(method_name)
          call_hash              = self.__get_hash(args, trace_string, kwargs)
          cd                     = call_descriptor.fetch( call_hash )
          if not cd:
              c  = self.__store__['callables'][method_name]
              if hasattr( c, '__class__' ) and c.__class__ == LazyBones:
                  c = c.init()
              returnval = c(*args, **kwargs)
              cd = call_descriptor.CallDescriptor( hash      = call_hash,
                                                   stack     = trace_string,
                                                   method    = method_name,
                                                   returnval = returnval,
                                                   args      = args,
                                                   kwargs    = kwargs )
              cd.save()
              if not call_hash:
                  raise Exception("CALL HASH IS NONE")
  
              util.last_hash = call_hash
              self.last_cached = call_hash
          else:
              returnval = cd.returnval
  
          if inspect.isclass(returnval):
              returnval = LazyBones( c, args, kwargs )
  
          return returnval
docs: Store a call descriptor