// Path: public-java/io/iamcontent-io-core/src/main/java/com/iamcontent/io/util/ResourceUtils.java
// public static void appendResource(String fileName, Appendable onto) {
// 	resourceAsLineStream(fileName).forEach(l -> appendQuietly(onto, l));
// }
// 
// Path: public-java/io/iamcontent-io-core/src/main/java/com/iamcontent/io/IORuntimeException.java
// public class IORuntimeException extends RuntimeException {
// 
// 	public IORuntimeException(String message) {
// 		super(message);
// 	}
// 
// 	public IORuntimeException(Throwable cause) {
// 		super(cause);
// 	}
// 	
// 	private static final long serialVersionUID = 1L;
// }


import com.iamcontent.io.IORuntimeException;
import static com.iamcontent.io.util.ResourceUtils.appendResource;
import java.io.IOException;
import java.util.logging.Logger;

		this.productName = productName;
		this.years = years;
		this.copyrightHolders = copyrightHolders;
	}

	public static LicenseWriter licenseWriter() {
		return new LicenseWriter();
	}
	
	public void printInteractiveInstructions() {
		printWithHeader(INSTRUCTIONS);
	}

	public void printNonInteractiveInstructions() {
		printHeader();
		printNonInteractiveTerms();
		printFooter();
	}

	public void printTermsAndConditions() {
		printWithHeader(TERMS_AND_CONDITIONS);
	}
	
	public void printWarranty() {
		printWithHeader(WARRANTY);
	}
	
	protected void printWithHeader(String file) {
		printHeader();
		try {

// Path: public-java/io/iamcontent-io-core/src/main/java/com/iamcontent/io/util/ResourceUtils.java
// public static void appendResource(String fileName, Appendable onto) {
// 	resourceAsLineStream(fileName).forEach(l -> appendQuietly(onto, l));
// }
// 
// Path: public-java/io/iamcontent-io-core/src/main/java/com/iamcontent/io/IORuntimeException.java
// public class IORuntimeException extends RuntimeException {
// 
// 	public IORuntimeException(String message) {
// 		super(message);
// 	}
// 
// 	public IORuntimeException(Throwable cause) {
// 		super(cause);
// 	}
// 	
// 	private static final long serialVersionUID = 1L;
// }


// Path: public-java/io/iamcontent-cli/src/main/java/com/iamcontent/io/cli/LicenseWriter.java
import com.iamcontent.io.IORuntimeException;
import static com.iamcontent.io.util.ResourceUtils.appendResource;
import java.io.IOException;
import java.util.logging.Logger;

		this.productName = productName;
		this.years = years;
		this.copyrightHolders = copyrightHolders;
	}

	public static LicenseWriter licenseWriter() {
		return new LicenseWriter();
	}
	
	public void printInteractiveInstructions() {
		printWithHeader(INSTRUCTIONS);
	}

	public void printNonInteractiveInstructions() {
		printHeader();
		printNonInteractiveTerms();
		printFooter();
	}

	public void printTermsAndConditions() {
		printWithHeader(TERMS_AND_CONDITIONS);
	}
	
	public void printWarranty() {
		printWithHeader(WARRANTY);
	}
	
	protected void printWithHeader(String file) {
		printHeader();
		try {

			appendResource(file, out);
