Invocation (Method method) { Invocation invocation; JavaMethod javaMethod = myInvocationCache.getInternedMethod(method); if (myInvocationCache.isTagValueGetter(javaMethod)) { invocation = new GetInvocation(createConverter(javaMethod)); } else if (myInvocationCache.isTagValueSetter(javaMethod)) { invocation = new SetInvocation(createConverter(javaMethod)); } else { throw new RuntimeException("No implementation for method " + method.toString() + " in class " + myType); } return invocation; }