class KotlinCoroutinesCustomizer {

	private final BuildMetadataResolver buildResolver;

	private final ProjectDescription description;

	private final MavenVersionResolver versionResolver;

	public KotlinCoroutinesCustomizer(InitializrMetadata metadata, ProjectDescription description,
			MavenVersionResolver versionResolver) {
		this.buildResolver = new BuildMetadataResolver(metadata);
		this.description = description;
		this.versionResolver = versionResolver;
	}

	public void customize(Build build) {
		if (hasReactiveFacet(build)) {
			build.dependencies()
				.add("kotlinx-coroutines-reactor",
						Dependency.withCoordinates("org.jetbrains.kotlinx", "kotlinx-coroutines-reactor"));
		}
	}

	public void customize(HelpDocument document, Build build) {<FILL_FUNCTION_BODY>}

	private boolean hasReactiveFacet(Build build) {
		return this.buildResolver.hasFacet(build, "reactive");
	}

}

		if (hasReactiveFacet(build)) {
			Map<String, String> resolve = this.versionResolver.resolveDependencies("org.springframework.boot",
					"spring-boot-dependencies", this.description.getPlatformVersion().toString());
			String frameworkVersion = resolve.get("org.springframework:spring-core");
			String versionToUse = (frameworkVersion != null) ? frameworkVersion : "current";
			String href = String.format(
					"https://docs.spring.io/spring/docs/%s/spring-framework-reference/languages.html#coroutines",
					versionToUse);
			document.gettingStarted()
				.addReferenceDocLink(href, "Coroutines section of the Spring Framework Documentation");
		}
	
<no_super_class>