class AddLine extends TransformationOperation<AddLine> {

    @Override
    protected TOExecutionResult execution(File transformedAppFolder, TransformationContext transformationContext) {
        File fileToBeModified = getAbsoluteFile(transformedAppFolder, transformationContext);

        if (!fileToBeModified.exists()) {
            // TODO Should this be done as pre-validation?
            FileNotFoundException ex = new FileNotFoundException("File to be modified has not been found");
            return TOExecutionResult.error(this, ex);
        }

        TOExecutionResult result = null;

        try {
            FileUtils.fileAppend(fileToBeModified.getAbsolutePath(), EolHelper.findEolDefaultToOs(fileToBeModified));
            FileUtils.fileAppend(fileToBeModified.getAbsolutePath(), newLine);
            String details =  "A new line has been added to file " + getRelativePath(transformedAppFolder, fileToBeModified);
            result = TOExecutionResult.success(this, details);
        } catch (IOException e) {
            result = TOExecutionResult.error(this, e);
        }

        return result;
    }

    public  AddLine();
    public  AddLine(String newLine);

}