Go through array and set all dynamic properties.

@param $data
@return $this
978130
private function setProperties(array $data)
    {
        foreach ($data as $key => $value) {
            $this->setProperty($key, $value);
        }

        return $this;
    }
391186
public function setValue($data)
    {
        parent::setValue($data);

        $this->setSelected((string)$data);

        return $this;
    }
111809
public function setData($data)
    {
        foreach ($data as $field => $value) {
            $this->set($field, $value);
        }
        return $this;
    }
1253975
public function data(array $data)
    {
        if (!is_array($this->props['data'])) $this->props['data'] = [];
        $this->props['data'] = array_merge($this->props['data'], $data);
        return $this;
    }
344542
public function setData($data)
    {
        foreach ($data as $key => $dtoData) {
            $this->data[$key] = new RuneDto($dtoData);
        }
    
        return $this;
    }
727918
public function setValues($data)
    {
        if (!is_array($data)) {
            return $this;
        }

        foreach ($data as $key => $value) {
            $this->$key = $value;
        }
    }
1235518
public function fill(array $data)
    {
        foreach ($data as $column => $value) {
            $this->__set($column, $value);
        }
        return $this;
    }
764235
public function setData($data)
    {
        $this->data = $data instanceof Structure ? $data : new Structure($data);

        return $this;
    }
895807
public final function load(array $data): self
    {
        foreach ($data as $key => $value) {
            $this->set($key, $value);
        }

        return $this;
    }
1216289
public function fromArray($data)
    {
        if (empty($data)) {
            return $this;
        }
        if (isset($data['type']) && $data['type']) {
            $this->setType($data['type']);
        }
        if (isset($data[$this->getType()]) && $data[$this->getType()]) {
            $this->setValue($data[$this->getType()]);
        }
        return $this;
    }
456573
public function setRelatedData($data)
    {
        if (is_array($data)) {
            foreach ($data as $count => $event) {
                if (isset($event['remove']) && $event['remove']) {
                    $this->removeOnEvent($event['event']);

                } else {
                    $this->attachOnEvent($event['event'], $event['priority'], $event['propertyset']);
                }
            }
        }

        return $this;
    }
297526
public function setArray(array $data)
    {
        foreach ($data as $name => $value) {
            $this->set($name, $value);
        }
        return $this;
    }
921713
private function setData(array $data = null)
    {
        if (null === $data || count($data) === 0) {
            $data = new \stdClass();
        }

        $this->data = $data;

        return $this;
    }
791200
public function setValues(array $data)
    {
        foreach($data as $key => $value) {
           $this->set($key, $value);
        }

        return $this;
    }
287794
public function setData(array $data)
    {
        parent::setData($data);

        $this->setChoices($this->buildChoicesFromSprite());

        return $this;
    }
579183
public function exchangeArray(array $data)
    {
        foreach ($this->object as $key => $value) {
            if (array_key_exists($key, $data)) {
                $setter = $this->getSetter($key);
                $this->$setter($data[$key]);
            }
        }

        return $this;
    }
1352436
public function setData(array $data)
    {
        $keys = $this->validDataFromRequest();
        $data = array_intersect_key($data, array_flip($keys));
        $this->mergeData($data);

        return $this;
    }