public function fixStringBooleanValues(&$input) {

        if (!\is_array($input)) {

			if (\is_string($input) && ($input === 'true' || $input === 'false')) {
				$input = filter_var($input, FILTER_VALIDATE_BOOLEAN);
			}
            return $input;
        }

        foreach ($input as $k => $v) {

            if (\is_array($input[$k])) {
                $input[$k] = $this->fixStringBooleanValues($input[$k]);
            }

            if (\is_string($v) && ($v === 'true' || $v === 'false')) {
				$v = \filter_var($v, FILTER_VALIDATE_BOOLEAN);
            }

            $input[$k] = $v;
        }

        return $input;
    }