public void invoke(Object service, Reader reader, Writer writer) {
invoke0(service, writer, BuffaloProtocal.getInstance().unmarshall(reader));
}
private void invoke0(Object service, Writer writer, BuffaloCall call) {
Signature signature = new Signature(service.getClass(),
call.getMethodName(), call.getArgumentTypes());
Method method = null;
if (methodCache.get(signature) != null) {
method = (Method) methodCache.get(signature);