code: def pokeStorable(self, storable, objname, obj, container, visited=None, _stack=None, **kwargs):
          
          #print((objname, storable.storable_type)) # debug
          storable.poke(self, objname, obj, container, visited=visited, _stack=_stack, **kwargs)
          try:
              record = self.getRecord(objname, container)
          except KeyError:
              # fake storable; silently skip
              if self.verbose:
                  print("skipping `{}` (type: {})".format(objname, storable.storable_type))
                  if 1 < self.verbose:
                      print(traceback.format_exc())
          else:
              self.setRecordAttr('type', storable.storable_type, record)
              if storable.version is not None:
                  self.setRecordAttr('version', from_version(storable.version), record)
docs: Arguments:
  
              storable (StorableHandler): storable instance.
  
              objname (any): record reference.
  
              obj (any): object to be serialized.
  
              container (any): container.
  
              visited (dict): map of the previously serialized objects that are
                  passed by references; keys are the objects' IDs.
  
              _stack (CallStack): stack of parent object names.
  
          Trailing keyword arguments are passed to the :class:`Storable` instance's
          :attr:`~Storable.poke`.