class AbstractFormDefinitionHelper {

    public void postProcess(Path source, Path destination) {
        org.uberfire.java.nio.file.Path destinationNioPath = Paths.convert(destination);

        FormDefinition formDefinition = serializer.deserialize(ioService.readAllString(destinationNioPath));

        processFormDefinition(formDefinition, destination);

        ioService.write(destinationNioPath,
                        serializer.serialize(formDefinition),
                        commentedOptionFactory.makeCommentedOption("Updating form [" + destination.toURI() + "]."));
    }

    public  AbstractFormDefinitionHelper(FormDefinitionSerializer serializer, IOService ioService, CommentedOptionFactory commentedOptionFactory);

}