protected function resolveFileClassName(\SplFileInfo $fileInfo)
    {
        $relativeFilePath = str_replace(
            $this->inputDirectory,
            '',
            $fileInfo->getPath()) . DIRECTORY_SEPARATOR .
                $fileInfo->getBasename('.' . $fileInfo->getExtension()
        );
        //converts file path to namespace
        //DIRECTORY_SEPARATOR will be converted to namespace separator => \
        //each directory name will be converted to first upper case
        $splitPath = explode(DIRECTORY_SEPARATOR, $relativeFilePath);
        $namespace = implode('\\', array_map(function($item) {
            return ucfirst($item);
        }, $splitPath));
        return $namespace;
    }