private function removeEval(&$pattern)
    {
        if (is_array($pattern)) {
            foreach ($pattern as $key => $value) {
                $pattern[$key] = $this->removeEval($value);
            }
        } elseif (is_string($pattern)) {
            $pattern = trim($pattern);
            $mods = strrpos($pattern, substr($pattern, 0, 1));
            $pattern = substr($pattern, 0, $mods).str_replace('e', '', substr($pattern, $mods));
        }

        return $pattern;
    }