@Override
	public Optional<String> transform(Generator gen, InterfaceMethod model) {
        requireNonNull(gen);
        requireNonNull(model);
        
        final Optional<String> body = Optional.of(renderCode(gen, model))
            .filter(s -> model.getModifiers().contains(DEFAULT)
                      || model.getModifiers().contains(STATIC)
            );

        final String spacing = body.map(unused -> " ").orElse("");

        return Optional.of(
            renderJavadoc(gen, model) +
            renderAnnotations(gen, model) +
			renderModifiers(gen, model, STATIC, DEFAULT) +
            renderGenerics(gen, model) +
            renderType(gen, model) +
            renderName(gen, model) + ((model.getFields().size() > 3) ? "(" + Formatting.nl() : "(") +
            renderFields(gen, model) + ")" + spacing +
            renderThrows(gen, model) + 
            body.orElse(";")
        );
	}
Transforms from an {@link InterfaceMethod} to java code.

@author Emil Forslund
common-parent/codegen/src/main/java/com/speedment/common/codegen/internal/java/view/InterfaceMethodView.java