public final function setFromArray(array $data)
    {
        //iteracja po danych
        foreach ($data as $key => $value) {
            //własność nie istnieje
            if (!property_exists($this, $key)) {
                continue;
            }
            $this->{$key} = is_string($value) ? trim($value) : $value;
        }
        //iteracja po zamiennikach
        foreach ($this->_replacementFields as $recordKey => $dtoKey) {
            if (!is_array($dtoKey)) {
                $dtoKey = [$dtoKey];
            }
            //obsługa wielu zastąpień z jednego klucza rekordu
            foreach ($dtoKey as $dKey) {
                //własność nie istnieje
                if (!property_exists($this, $dKey)) {
                    continue;
                }
                if (!array_key_exists($recordKey, $data)) {
                    continue;
                }
                $this->$dKey = trim($data[$recordKey]);
            }
        }
        return $this;
    }