public function save($configFile = null, $jsonOptions = 0, $saveUnset = false)
	{
		if ($configFile == null)
		{
			$configFile = $this->configFile;
		}

		$data = new \StdClass;

		foreach ($this->configData as $name => $itemData)
		{
			if (isset($itemData->value))
			{
				ValueByPath::setValueByPath($data, $name, $itemData->value, true);
			}
			elseif ($saveUnset and isset($itemData->defaultValue))
			{
				ValueByPath::setValueByPath($data, $name, $itemData->defaultValue, true);
			}
			elseif ($saveUnset)
			{
				ValueByPath::setValueByPath($data, $name, null, true);
			}

			if (!$saveUnset and isset($itemData->value) and isset($itemData->defaultValue) and $itemData->value == $itemData->defaultValue)
			{
				ValueByPath::removeValueByPath($data, $name);
			}
		}

		file_put_contents($configFile, json_encode($data, $jsonOptions));
	}