@Override
    public void withdraw(String accountId, double amount) throws InvalidParamException, OverdraftException {
        MethodResponse response = this.stub.sendMethodRequest("withdraw",
                new Class[]{String.class, double.class},
                new Object[]{accountId, amount});

        Throwable t = response.getThrowable();
        if (t != null) {
            if (InvalidParamException.check(t)) {
                throw new InvalidParamException(t.getMessage());
            } else if (OverdraftException.check(t)) {
                throw new OverdraftException(t.getMessage());
            } else {
                throw new RuntimeException("Remote Exception", t);
            }
        }
    }