Method[] methods = type.getMethods();
Map<String, Operation<Type>> operations = new HashMap<String, Operation<Type>>(methods.length);
for (Method method : methods) {
String name = method.getName();
if (remotable && operations.containsKey(name)) {
throw new OverloadedOperationException(method.toString());
}
Type returnType = method.getGenericReturnType();
Type[] paramTypes = method.getGenericParameterTypes();
Type[] faultTypes = method.getGenericExceptionTypes();