class Neo4jProjectGenerationConfiguration {

	private static final String TESTCONTAINERS_CLASS_NAME = "org.testcontainers.containers.Neo4jContainer";

	@Bean
	@ConditionalOnRequestedDependency("testcontainers")
	ServiceConnectionsCustomizer neo4jServiceConnectionsCustomizer(Build build, DockerServiceResolver serviceResolver) {<FILL_FUNCTION_BODY>}

	@Bean
	@ConditionalOnRequestedDependency("docker-compose")
	ComposeFileCustomizer neo4jComposeFileCustomizer(Build build, DockerServiceResolver serviceResolver) {
		return (composeFile) -> {
			if (isNeo4jEnabled(build)) {
				serviceResolver.doWith("neo4j", (service) -> composeFile.services()
					.add("neo4j",
							service.andThen((builder) -> builder.environment("NEO4J_AUTH", "neo4j/notverysecret"))));
			}
		};
	}

	private boolean isNeo4jEnabled(Build build) {
		return build.dependencies().has("data-neo4j") || build.dependencies().has("spring-ai-vectordb-neo4j");
	}

}

		return (serviceConnections) -> {
			if (isNeo4jEnabled(build)) {
				serviceResolver.doWith("neo4j", (service) -> serviceConnections
					.addServiceConnection(ServiceConnection.ofContainer("neo4j", service, TESTCONTAINERS_CLASS_NAME)));
			}
		};
	
<no_super_class>