InputStream in = assembler.newFileInputStream(inFile);
OutputStream out = assembler.newFileOutputStream(outFile);
String source = loadStreamIntoString(in);
String result = prefixFileWith + new VariableEvaluaterImpl(properties).replaceAllVariables(source);
Parameteriser parameteriser = new ParameteriserImpl(properties);
result = parameteriser.parameterise(result);
writeStringIntoStream(result, out);
}