class ComposeProjectContributor implements ProjectContributor {

	private final ComposeFile composeFile;

	private final IndentingWriterFactory indentingWriterFactory;

	private final ComposeFileWriter composeFileWriter;

	public ComposeProjectContributor(ComposeFile composeFile, IndentingWriterFactory indentingWriterFactory) {
		this.composeFile = composeFile;
		this.indentingWriterFactory = indentingWriterFactory;
		this.composeFileWriter = new ComposeFileWriter();
	}

	@Override
	public void contribute(Path projectRoot) throws IOException {
		Path file = Files.createFile(projectRoot.resolve("compose.yaml"));
		writeComposeFile(Files.newBufferedWriter(file));
	}

	void writeComposeFile(Writer out) throws IOException {<FILL_FUNCTION_BODY>}

}

		try (IndentingWriter writer = this.indentingWriterFactory.createIndentingWriter("yaml", out)) {
			this.composeFileWriter.writeTo(writer, this.composeFile);
		}
	
<no_super_class>