FunctionCall(Method method, Thrift thrift) { methodName = method.getName(); Func func = method.getAnnotation(Func.class); if (func == null) { throw new IllegalArgumentException( "method " + methodName + " should be annotated with @Func"); } oneway = func.oneway(); isObservable = getIsObservable(method); parseRequest(method, thrift); parseResponse(method, func, thrift); argsStruct = new TStruct(methodName + "_args"); }