public function ExtractDistinctValues($array) {
        foreach ($array as $key => $value) {
            $valueIsArray = is_array($value);
            $valueIsAlreadyExtracted = in_array($value, $this->List);
            $keyIsExtracted = in_array($key, $this->List);
            if (!$valueIsArray && !$valueIsAlreadyExtracted && !RegexHelper::Init($value)->StringContainsWhiteSpace()) {
                array_push($this->List, $value);
            }
            if (!$keyIsExtracted && is_string($key) && !RegexHelper::Init($key)->StringContainsWhiteSpace()) {
                array_push($this->List, $key);
            }
            if ($valueIsArray) {
                $this->ExtractDistinctValues($value);
            }
        }
        return $this;
    }