populateFromObject - @todo some properties are missing

@param ApiPopulatableInterface $object
@param array $ignore

@return void
509638
public function populateFromObject(
        ApiPopulatableInterface $object,
        array $ignore = []
    ) {
        if (!$object instanceof Site) {
            return;
        }
        if (!in_array('siteId', $ignore)) {
            $this->setSiteId($object->getSiteId());
        }
        if (is_object($object->getDomain()) && !in_array('domain', $ignore)) {
            $this->setDomain($object->getDomain());
        }
        if (!in_array('theme', $ignore)) {
            $this->setTheme($object->getTheme());
        }
        if (!in_array('siteLayout', $ignore)) {
            $this->setSiteLayout($object->getSiteLayout());
        }
        if (!in_array('siteTitle', $ignore)) {
            $this->setSiteTitle($object->getSiteTitle());
        }
        if (is_object($object->getLanguage()) && !in_array('language', $ignore)) {
            $this->setLanguage($object->getLanguage());
        }
        if (is_object($object->getCountry()) && !in_array('country', $ignore)) {
            $this->setCountry($object->getCountry());
        }
        if (!in_array('status', $ignore)) {
            $this->setStatus($object->getStatus());
        }
        if (!in_array('favIcon', $ignore)) {
            $this->setFavIcon($object->getFavIcon());
        }
        if (!in_array('loginPage', $ignore)) {
            $this->setLoginPage($object->getLoginPage());
        }
        if (!in_array('notAuthorizedPage', $ignore)) {
            $this->setNotAuthorizedPage($object->getNotAuthorizedPage());
        }
        if (!in_array('notFoundPage', $ignore)) {
            $this->setNotFoundPage($object->getNotFoundPage());
        }
        if (!in_array('supportedPageTypes', $ignore)) {
            $this->setSupportedPageTypes($object->getSupportedPageTypes());
        }
    }
994556
public function preUpdate($object)
    {
        $this->blockManager->get($object)->preUpdate($object);

        // fix weird bug with setter object not being call
        $object->setChildren($object->getChildren());

        if ($object->getPage() instanceof PageInterface) {
            $object->getPage()->setEdited(true);
        }
    }
183564
public void update(Object object) {
        try {
            persistenceManager.saveEntity((IManagedEntity) object);
        } catch (InitializationException ignore){}
        catch (Exception e) {
            e.printStackTrace();
        }
    }
558515
public static function reset($object)
	{
		if (!($object instanceof UninterpretedOption)) {
			throw new \InvalidArgumentException('You have to pass object of class Google\Protobuf\UninterpretedOption.');
		}
		$object->name = NULL;
		$object->identifierValue = NULL;
		$object->positiveIntValue = NULL;
		$object->negativeIntValue = NULL;
		$object->doubleValue = NULL;
		$object->stringValue = NULL;
		$object->aggregateValue = NULL;
	}
129557
protected function parseObject(ObjectInterface $object, array $data)
    {
        foreach ($data as $index => $value) {
            if (false !== strpos($index, '$')) {
                $index = str_replace('$', '_', $index);
            }

            if (property_exists($object, $index)) {
                $object = $this->parseProperty($object, $index, $value);
            } elseif (true == ($fieldTypeClassName = $object->isFieldPatternedField($index))) {
                $object = $this->parsePatternedField($object, $fieldTypeClassName, $index, $value);
            }
        }

        return $object;
    }
141851
public function populate(array $data = [], array $ignore = ['createdByUserId', 'createdDate', 'createdReason'])
    {
        if (!empty($data['languageId']) && !in_array('languageId', $ignore)) {
            $this->setLanguageId($data['languageId']);
        }
        if (!empty($data['languageName']) && !in_array('languageName', $ignore)) {
            $this->setLanguageName($data['languageName']);
        }
        if (!empty($data['iso639_1']) && !in_array('iso639_1', $ignore)) {
            $this->setIso6391($data['iso639_1']);
        }
        if (!empty($data['iso639_2b']) && !in_array('iso639_2b', $ignore)) {
            $this->setIso6392b($data['iso639_2b']);
        }
        if (!empty($data['iso639_2t']) && !in_array('iso639_2t', $ignore)) {
            $this->setIso6392t($data['iso639_2t']);
        }
    }
176990
public function populate(array $data = [], array $ignore = ['createdByUserId', 'createdDate', 'createdReason'])
    {
        if (!empty($data['iso3']) && !in_array('iso3', $ignore)) {
            $this->setIso3($data['iso3']);
        }
        if (!empty($data['iso2']) && !in_array('iso2', $ignore)) {
            $this->setIso2($data['iso2']);
        }
        if (!empty($data['countryName']) && !in_array('countryName', $ignore)) {
            $this->setCountryName($data['countryName']);
        }
    }
114241
public function freeze($object, array &$objects = array())
    {
        if (!is_object($object)) {
            throw new InvalidArgumentException(1, 'object');
        }

        if ($object instanceof LazyProxy) {
            if ($object->isThawed()) {
                $object = $object->getObject();
            } else {
                return array('root' => $object->getId());
            }
        }

        // If the object has not been frozen before, generate a new UUID and
        // store it in the "special" __freezer_uuid property.
        if (!isset($object->{$this->idProperty})) {
            $object->{$this->idProperty} = $this->generateId();
        }

        if (!isset($object->__freezer)) {
            $object->__freezer = array();
        }

        $isDirty = $this->isDirty($object, true);
        $id      = (string)$object->{$this->idProperty};

        if (!isset($objects[$id])) {
            $objects[$id] = array(
                'class'   => get_class($object),
                'isDirty' => $isDirty,
                'state'   => array()
            );

            // Iterate over the properties of the object.
            $properties = call_user_func($this->propertyReader, $object);

            foreach ($properties as $name => $value) {
                if ($name !== $this->idProperty) {
                    if (is_array($value)) {
                        $this->freezeArray($value, $objects);
                    } elseif (is_object($value)) {
                        // Freeze the aggregated object.
                        $this->freeze($value, $objects);

                        // Replace $v with the aggregated object's id.
                        $value = '__freezer_' . $value->{$this->idProperty};
                    } elseif (is_resource($value)) {
                        $value = null;
                    }

                    // Store the attribute in the object's state array.
                    $objects[$id]['state'][$name] = $value;
                }
            }
        }

        return array('root' => $id, 'objects' => $objects);
    }
436355
public function prePersist($object)
    {
        /** @var ContentInterface $contentObject */
        if ($contentObject = $object->getContent()) {
            try {
                $this->getModelManager()->create($contentObject);
                $object->setObjectId($contentObject->getId());
                $this->autoPageDraft($object->getPage());
            } catch (ModelManagerException $e) {
                throw new ModelManagerException($this->trans('Cannot create content, object is invalid', [], 'validators'));
            }
        }
    }
180855
private function populate($entity, $model)
    {
        if ($entity && (is_array($entity) || is_object($entity))) {
            foreach ($entity as $name => $value) {
                $model->$name = $value;
            }
        }

        return $model;
    }
1194233
public function insert($table, $ignore = false)
	{
		$this->syntax->setInsert($table, $ignore);
		$this->type = 'insert';
		return $this;
	}
84164
public function update($object)
    {
        if ($this->isNewObject($object)) {
            throw new UnknownObjectException('The object of type "' . get_class($object) . '" (identifier: "' . $this->getIdentifierByObject($object) . '") which was passed to EntityManager->update() is not a previously persisted object. Check the code which updates this entity and make sure that only objects are updated which were persisted before. Alternatively use add() for persisting new objects."', 1313663277);
        }
        try {
            $this->entityManager->persist($object);
        } catch (\Exception $exception) {
            throw new PersistenceException('Could not merge object of type "' . get_class($object) . '"', 1297778180, $exception);
        }
    }
1359167
public void populate(Object bean) {
        Objects.requireNonNull(bean);
        compileProperties(bean.getClass());

        Class<?> clazz = bean.getClass();

        while (clazz != Object.class) {
            Map<Field, PropertyInfo> propertyInfoMap = resolve(clazz.getDeclaredFields());

            for (Field field : propertyInfoMap.keySet()) {
                PropertyInfo info = propertyInfoMap.get(field);
                setValueToField(field, bean, info.getValue());
            }
            clazz = clazz.getSuperclass();
        }
    }
357435
final public function populateByRequest() {

		$args = func_get_args();

		// all subclass binds
		$binds = static::getBinds();

		foreach ($binds as $property => $field) {

			// check that property is in the args or that args is not defined at all
			if (!count($args) or (isset($args[0]) and in_array($property, $args[0]))) {
				
				$type = $this->getPropertyType($property);
				
				if (Input::isSent($property) or 'bool' == $type) {
					
					// assign the value to this object property
					$this->__set($property, Input::get($property));
					
				}

			}

		}

	}
71928
public function populateManyRelation(DataObject $object, $field, $value)
    {
        // Initialise:
        
        $ids = [];
        
        // Process Value as Array:
        
        if ($value = $this->processValueAsArray($value)) {
            
            // Is Value an Associative Array?
            
            $isAssoc = ArrayLib::is_associative($value);
            
            // Output Verbose Message:
            
            $this->verboseMessage(sprintf('%s has an %s array value', $field, ($isAssoc ? 'associative' : 'indexed')));
            
            // Handle Array Values:
            
            if ($isAssoc) {
                
                foreach ($value as $k => $v) {
                    
                    if ($this->isTypedIdentifier($k)) {
                        
                        // Process Typed Identifier:
                        
                        list($class, $identifier) = $this->processTypedIdentifier($k);
                        
                        // Obtain Remote Join Field:
                        
                        if ($join = $this->getSchema()->getRemoteJoinField($object, $field)) {
                            
                            // Define Item Data:
                            
                            $data = (array) $v;
                            
                            if (!isset($data[$join])) {
                                $data[$join] = $object->ID;
                            }
                            
                            // Define Item Filter:
                            
                            $filter = [$join => $data[$join]];
                            
                            // Create Item Object:
                            
                            $this->getFactory()->createObject($class, $identifier, $data, $filter);
                            
                        }
                        
                    }
                    
                }
                
            } else {
                
                // Obtain ID List:
                
                foreach ($value as $k => $v) {
                    $ids[] = $this->processValue($v);
                }
                
                // Populate Relation:
                
                $this->populateManyRelationByIDs($object, $field, $ids);
                
            }
            
        }
        
        // Answer Object:
        
        return $object;
    }
406668
public static function reset($object)
	{
		if (!($object instanceof FieldOptions)) {
			throw new \InvalidArgumentException('You have to pass object of class Google\Protobuf\FieldOptions.');
		}
		$object->ctype = NULL;
		$object->packed = NULL;
		$object->jstype = NULL;
		$object->lazy = NULL;
		$object->deprecated = NULL;
		$object->weak = NULL;
		$object->uninterpretedOption = NULL;
	}
499597
protected function updateObjectToPopulate(array $data, array &$context)
    {
        try {
            $context['object_to_populate'] = $this->iriConverter->getItemFromIri(
                (string) $data['id'],
                $context + ['fetch_data' => false]
            );
        } catch (InvalidArgumentException $e) {
            $identifier = null;
            $properties = $this->propertyNameCollectionFactory->create($context['resource_class'], $context);
            foreach ($properties as $propertyName) {
                if ($this->propertyMetadataFactory->create($context['resource_class'], $propertyName)->isIdentifier()) {
                    $identifier = $propertyName;
                    break;
                }
            }

            if (null === $identifier) {
                throw $e;
            }

            $context['object_to_populate'] = $this->iriConverter->getItemFromIri(
                sprintf(
                    '%s/%s',
                    $this->iriConverter->getIriFromResourceClass($context['resource_class']),
                    $data[$identifier]
                ),
                $context + ['fetch_data' => false]
            );
        }
    }