class CassandraProjectGenerationConfiguration {

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

	@Bean
	@ConditionalOnRequestedDependency("testcontainers")
	ServiceConnectionsCustomizer cassandraServiceConnectionsCustomizer(Build build,
			DockerServiceResolver serviceResolver) {
		return (serviceConnections) -> {
			if (isCassandraEnabled(build)) {
				serviceResolver.doWith("cassandra", (service) -> serviceConnections.addServiceConnection(
						ServiceConnection.ofContainer("cassandra", service, TESTCONTAINERS_CLASS_NAME)));
			}
		};
	}

	@Bean
	@ConditionalOnRequestedDependency("docker-compose")
	ComposeFileCustomizer cassandraComposeFileCustomizer(Build build, DockerServiceResolver serviceResolver) {<FILL_FUNCTION_BODY>}

	private boolean isCassandraEnabled(Build build) {
		return build.dependencies().has("data-cassandra") || build.dependencies().has("data-cassandra-reactive");
	}

}

		return (composeFile) -> {
			if (isCassandraEnabled(build)) {
				serviceResolver.doWith("cassandra",
						(service) -> composeFile.services()
							.add("cassandra", service.andThen((builder) -> builder.environment("CASSANDRA_DC", "dc1")
								.environment("CASSANDRA_ENDPOINT_SNITCH", "GossipingPropertyFileSnitch"))));
			}
		};
	
<no_super_class>