class GradleBuildProjectContributor implements BuildWriter, ProjectContributor {

	private final GradleBuildWriter buildWriter;

	private final GradleBuild build;

	private final IndentingWriterFactory indentingWriterFactory;

	private final String buildFileName;

	GradleBuildProjectContributor(GradleBuildWriter buildWriter, GradleBuild build,
			IndentingWriterFactory indentingWriterFactory, String buildFileName) {
		this.buildWriter = buildWriter;
		this.build = build;
		this.indentingWriterFactory = indentingWriterFactory;
		this.buildFileName = buildFileName;
	}

	@Override
	public void contribute(Path projectRoot) throws IOException {
		Path buildGradle = Files.createFile(projectRoot.resolve(this.buildFileName));
		writeBuild(Files.newBufferedWriter(buildGradle));
	}

	@Override
	public void writeBuild(Writer out) throws IOException {<FILL_FUNCTION_BODY>}

}

		try (IndentingWriter writer = this.indentingWriterFactory.createIndentingWriter("gradle", out)) {
			this.buildWriter.writeTo(writer, this.build);
		}
	
<no_super_class>