public Interface iface(SourcePosition pos, String dottedName, Schema schema,
List<Import> imports,
List<ThrowsDeclaration> throwsDeclarations,
List<Parameter> parameters,
List<FormalTypeParameter> formalTypeParameters) {
TemplateName name = fqTemplateName(dottedName);
List<Parameter> params = Lists.newArrayList(parameters);
params.add(new Parameter(new FormalParameter(pos,
Implementable.INSTANCE_PARAM_NAME,
Implementable.INSTANCE_PARAM_NAME,
new TemplateType(pos, name.toString(), name))));
return new Interface(pos, "<gxp:interface>", fqTemplateName(dottedName),
schema, Collections.<JavaAnnotation>emptyList(), imports,
throwsDeclarations, params, formalTypeParameters);
}