code: def to_obj(self, ns_info=None):
          
          if ns_info:
              ns_info.collect(self)
  
          # null behavior for classes that inherit from Entity but do not
          # have _binding_class
          if not hasattr(self, "_binding_class"):
              return None
  
          entity_obj = self._binding_class()
  
          for field, val in six.iteritems(self._fields):
              # EntityLists with no list items should be dropped
              if isinstance(val, EntityList) and len(val) == 0:
                  val = None
              elif field.multiple:
                  if val:
                      val = [_objectify(field, x, ns_info) for x in val]
                  else:
                      val = []
              else:
                  val = _objectify(field, val, ns_info)
  
              setattr(entity_obj, field.name, val)
  
          self._finalize_obj(entity_obj)
          return entity_obj
docs: Convert to a GenerateDS binding object.
  
          Subclasses can override this function.
  
          Returns:
              An instance of this Entity's ``_binding_class`` with properties
              set from this Entity.