in an ideal world, CICA and SICA would pass in the annotations that are associated with the parameter to createDefaultParameters. that'd require java5 though.
perhaps slightly different sigs for now?
Parameter[] createDefaultParameters( Method[] setters, Class[] types ) {
List parameters;
for( Class type : types )
{
parameters.add( createDefaultParameter( type ) );
}
}
Parameter[] createDefaultParameters( Constructor cxtor, Class[] types ) {
List parameters;
for( Class type : types ) {
parameters.add( createDefaultParameter( type ) );
}
}
Parameter createDefaultParameter( Class types )
{
// existing behavior for a single parameter
}
... that way things could be overridden for Java5 as needed.
Note, this is scheduled for 1.3