List<Operation> operations = new ArrayList<Operation>(methods.length);
Set<String> names = remotable? new HashSet<String>() : null;
for (Method method : methods) {
String name = method.getName();
if (remotable && names.contains(name)) {
throw new OverloadedOperationException(method);
}
if(remotable) {
names.add(name);
}