public function replace($in): void
	{
		$this->_massageBlockInput($in);

		if (empty($in)) {
			return;
		}

		foreach ($in as $k => $v) {
			if ($this->_keyExists($k)) {
				if ($this->{$k} instanceof TypedAbstract) {
					$this->{$k}->replace($v);
				}
				else {
					$this->_setByName($k, $v);
				}
			}
		}

		$this->_checkRelatedProperties();
	}