private MethodDefinitionBuilder parameter(
     long modifiers,
     String name,
     String aliasedName,
     TypedDeclaration decl,
     TypedDeclaration nonWideningDecl,
     ProducedType nonWideningType,
     int flags) {
   ParameterDefinitionBuilder pdb = ParameterDefinitionBuilder.instance(gen, name);
   pdb.modifiers(modifiers);
   pdb.aliasName(aliasedName);
   pdb.sequenced(decl instanceof Parameter && ((Parameter) decl).isSequenced());
   pdb.defaulted(decl instanceof Parameter && ((Parameter) decl).isDefaulted());
   pdb.type(paramType(nonWideningDecl, nonWideningType, flags), gen.makeJavaTypeAnnotations(decl));
   return parameter(pdb);
 }