}
private void createArgFactoryMethod(final ClassOutlineImpl cc, final Collection<JFieldVar> required, final JClass sigType, final String methodName) {
final JMethod m = objectFactory.method(JMod.PUBLIC | JMod.STATIC, sigType, "create" + methodName);
final Map<String, FieldOutline> fieldOutlineasMap = Util.getRequiredFieldsAsMap(cc);
m.javadoc().append("Create an instance of ").append(cc.ref);
final JInvocation returntype = JExpr._new(cc.implRef);
for (final JFieldVar field : required) {
final JVar arg = m.param(JMod.FINAL, field.type(), field.name());
m.javadoc().addParam(arg).append("required parameter");