public ParamMetadata(OptionsCapable context, Class<?> paramType, String name, Annotation[] annotations) {
this.name = name;
this.context = context;
this.type = paramType.getSimpleName();
this.paramType = paramType;
final CompositeUtil instance = CompositeUtil.instance();
help = instance.getHelpText(annotations);
defaultValue = getDefaultValue(annotations);
for (Annotation a : annotations) {
if (a.annotationType().equals(ReadOnly.class)) {
readOnly = true;