protected function _changeDirParam($path = null, $funcName = null, $param = null) {
		if (empty($path) || !file_exists($path) ||
			!in_array($funcName, ['chown', 'chmod', 'chgrp']) || empty($param)) {
			return false;
		}

		$result = true;
		if (is_file($path) || is_dir($path)) {
			//@codingStandardsIgnoreStart
			$resultCall = @call_user_func($funcName, $path, $param);
			//@codingStandardsIgnoreEnd
			if ($resultCall) {
				if (is_file($path)) {
					return true;
				}
			} else {
				$result = false;
			}
		} else {
			return false;
		}

		$oFolder = new Folder($path, false);
		$dirContent = $oFolder->read(true, false, true);
		foreach ($dirContent as $targetPaths) {
			foreach ($targetPaths as $targetPath) {
				if (!$this->_changeDirParam($targetPath, $funcName, $param)) {
					$result = false;
				}
			}
		}

		return $result;
	}