public function generateStubFile($location, $fileFullName, $configuration)
    {
        $fileName = str_replace([ 'VENDOR_NAME', 'VENDOR_NAME_LOWER', 'PACKAGE_NAME', 'PACKAGE_NAME_LOWER' ], [
            studly_case($this->vendor),
            strtolower($this->vendor),
            studly_case($this->package),
            strtolower($this->package),
        ], $this->filesystem->name($fileFullName));

        $fileExtension = $this->filesystem->extension($fileFullName);
        if (blank($fileExtension)) {
            $fileExtension = data_get($configuration, 'extension', 'php');
        }

        $suffix    = data_get($configuration, 'suffix', '');
        $prefix    = data_get($configuration, 'prefix', '');
        $namespace = data_get($configuration, 'namespace', '');
        $fileName  = $this->fileNameCaseConvention($prefix . $fileName . $suffix, $configuration);

        $this->makeDir($location);
        Stub::create(
            $this->findingStub($this->stubKey),
            $this->replaceStubString($fileName, $namespace)
        )->save($location, $fileName . '.' . $fileExtension);
    }