public static function flattenIntoDots(array $subjectArray, $keyPrefix = '')
    {
        $flattenArray = [];

        foreach ($subjectArray as $key => $value) {
            $newKey = $keyPrefix . $key;

            if (is_array($value) && !empty($value)) {
                $flattenArray = array_merge($flattenArray, self::flattenIntoDots($value, $newKey . '.'));
                continue;
            }
            $flattenArray[$newKey] = $value;
        }

        return $flattenArray;
    }