return Character.isUpperCase(first);
}
@Override
public Type visitParameterizedType(ParameterizedType elem, Void context) {
Type nonparameterized = elem.getType().accept(this, null);
List<Type> arguments = new ArrayList<Type>();
for (Type t : elem.getTypeArguments()) {
arguments.add(t.accept(this, null));
}
if (nonparameterized.equals(elem.getType())
&& arguments.equals(elem.getTypeArguments())) {
return elem;
}
return factory.newParameterizedType(nonparameterized, arguments);
}