class XmlIndentation extends TransformationUtility<XmlIndentation> {

    @Override
    protected TUExecutionResult execution(File transformedAppFolder, TransformationContext transformationContext) {
        TUExecutionResult result = null;

        try {
            File xmlFile = getAbsoluteFile(transformedAppFolder, transformationContext);
            String indentation = getFirst(xmlFile);
            if (indentation == null) {
                result = TUExecutionResult.nullResult(this);
            } else {
                result = TUExecutionResult.value(this, indentation);
            }
        } catch (FileNotFoundException e) {
            String message = "File " + getRelativePath() + " does not exist";
            TransformationUtilityException tuex = new TransformationUtilityException(message, e);
            result = TUExecutionResult.error(this, tuex);
        } catch (WstxUnexpectedCharException e) {
            String message = "File " + getRelativePath() + " is not recognized as a valid XML file";
            TransformationUtilityException tuex = new TransformationUtilityException(message, e);
            result = TUExecutionResult.error(this, tuex);
        } catch (Exception e) {
            result = TUExecutionResult.error(this, e);
        }

        return result;
    }

}