class Propose implements JsonRpcMethod {

  @Override
  public JsonRpcResponse response(final JsonRpcRequestContext requestContext) {
    final Address address = requestContext.getRequiredParameter(0, Address.class);
    final Boolean auth = requestContext.getRequiredParameter(1, Boolean.class);
    if (address.equals(CliqueBlockInterface.NO_VOTE_SUBJECT)) {
      return new JsonRpcErrorResponse(
          requestContext.getRequest().getId(), JsonRpcError.INVALID_REQUEST);
    }

    if (auth) {
      proposer.auth(address);
    } else {
      proposer.drop(address);
    }
    // Return true regardless, the vote is always recorded
    return new JsonRpcSuccessResponse(requestContext.getRequest().getId(), true);
  }

  public  Propose(final VoteProposer proposer);

}