public function generate()
	{
		// Load the OpenAPI schema file
		$this->loadOpenApiFile();

		// Make the output directory
		$this->makeOutputDirectory();

		// Make the tests output directory
		if (!is_null($this->testsOutputPath)) {
			$this->makeTestsOutputDirectory();
		}

		// Parse OpenAPI file for operations
		$this->parseOperations();

		// Add in path parameters map based on resource properties
		$this->computeInPathParameters();

		// Add in query parameters data based on resource properties
		$this->computeInQueryParameters();

		// dd body parameters data based on resource properties
		$this->computeBodyParameters();

		// Add operation responses makers
		$this->computeOperationsResponsesMakers();
		
		// Add operation default responses makers
		$this->computeOperationsDefaultResponsesMakers();

		// Make the main client data
		$this->makeMainClient();

		// Make the main exception data
		$this->makeMainException();

		// Make the unexpected response exception data
		$this->makeUnexpectedResponseException();

		// Make the main client data
		if (!is_null($this->testsOutputPath)) {
			$this->makeMainClientTest();
		}

		// Load template filesystem
		$this->loadTemplates();

		// Write files
		$this->writeTemplates();

		// @todo Step : Root directory : Make README.md
		// @todo Step : Root directory : Make LICENSE.md
		// @todo Step : Root directory : Make .gitignore
		// @todo Step : Root directory : Make composer.json
		// @todo Step : Root directory : Make phpunit.xml
		// @todo Step : Make "src" directory
		// @todo Step : "src" directory : Make "%libNamespace%" directory/subdirectory
		// @todo Step : "%libNamespace%" subdirectory : Make "Resources" directory
		// @todo Step : "%libNamespace%" subdirectory : Make "Managers" directory
		// @todo Step : "Resources" directory : Make components/schemas as resources files
		// @todo Step : "Managers" directory : Make managers files from operations tags pattern'Manager:*'
		// @todo Step : Resources files : Make methods from operation tags pattern 'Resource:**'
		// @todo Step : "%libNamespace% subdirectory : Make "%libName%Client.php"
		// @todo Step : Make "tests" directory

	}