@Override
    public BUILDER withSchema(final String schemaName) {
        requireNonNull(schemaName);
        with(Schema.class, s -> {
            // This makes sure that old json files with no id
            // first sets it id before the name is changed
            // Todo: Remove in next major API bumnp
            s.mutator().setId(s.getId());
            s.mutator().setName(schemaName);
        });
        return self();
    }
This abstract class is implemented by classes that can build a
{@link Speedment} application.

@param <APP> the type that is being built
@param <BUILDER> the (self) type of the AbstractApplicationBuilder

@author Per Minborg
@author Emil Forslund
@since 2.0.0
runtime-parent/runtime-application/src/main/java/com/speedment/runtime/application/AbstractApplicationBuilder.java