protected function generateTypesNames()
    {
        $localAdapter = new LocalAdapter($this->getTypesDirectory());
        $files = $localAdapter->listContents(
            '/',
            true
        );
        $names = [];
        foreach ($files as $file) {
            if ($file['type'] == 'file') {
                $name = $file['path'];
                $name = $this->generateTypeNameFromPath($name);
                if ($this->checkValidTypeName($name)) {
                    $names[] = $name;
                }
            }
        }

        return $names;
    }