public function findFile($class, array $prefixPaths, array $basePaths = [], $useIncludePath = false)
    {
        if ($file = $this->searchNamespaces($prefixPaths, $class, true)) {
            return $file;
        }

        $class = preg_replace('/_(?=[^\\\\]*$)/', '\\', $class);

        if ($file = $this->searchNamespaces($basePaths, $class, false)) {
            return $file;
        } elseif ($useIncludePath) {
            return $this->searchDirectories(explode(PATH_SEPARATOR, get_include_path()), $class);
        }

        return false;
    }