thrifty-runtime/src/main/java/com/microsoft/thrifty/service/ClientBase.java
protected final Object execute(MethodCall<?> methodCall) throws Exception {
        if (!running.get()) {
            throw new IllegalStateException("Cannot write to a closed service client");
        }

        try {
            return invokeRequest(methodCall);
        } catch (ServerException e) {
            throw e.thriftException;
        }
    }
protected final Object execute(MethodCall<?> methodCall) throws Exception {
        if (!running.get()) {
            throw new IllegalStateException("Cannot write to a closed service client");
        }

        try {
            return invokeRequest(methodCall);
        } catch (ServerException e) {
            throw e.thriftException;
        }
    }
When invoked by a derived instance, sends the given call to the server.

@param methodCall the remote method call to be invoked
@return the result of the method call