'Populates self._entity, saving its state to the datastore.
After this method is called, calling is_saved() will return True.
Returns:
Populated self._entity'

def _populate_internal_entity(self, _entity_class=datastore.Entity):

    self._entity = self._populate_entity(_entity_class=_entity_class)
    for prop in self.properties().values():
        new_value = prop.get_updated_value_for_datastore(self)
        if (new_value is not AUTO_UPDATE_UNCHANGED):
            self.__set_property(self._entity, prop.name, new_value)
    for attr in ('_key_name', '_key'):
        try:
            delattr(self, attr)
        except AttributeError:
            pass
    return self._entity
