public void validateErrorResponse(OAuthClientResponse response) throws OAuthProblemException {
   String error = response.getParam(OAuthError.OAUTH_ERROR);
   if (!OAuthUtils.isEmpty(error)) {
     String errorDesc = response.getParam(OAuthError.OAUTH_ERROR_DESCRIPTION);
     String errorUri = response.getParam(OAuthError.OAUTH_ERROR_URI);
     String state = response.getParam(OAuth.OAUTH_STATE);
     throw OAuthProblemException.error(error).description(errorDesc).uri(errorUri).state(state);
   }
 }
  @Override
  public void validateRequiredParameters(HttpServletRequest request) throws OAuthProblemException {

    String[] tokens = getQueryParameterValues(request, OAuth.OAUTH_BEARER_TOKEN);
    if (OAuthUtils.hasEmptyValues(tokens)) {
      tokens = getQueryParameterValues(request, OAuth.OAUTH_TOKEN);
      if (OAuthUtils.hasEmptyValues(tokens)) {
        throw OAuthProblemException.error(null, "Missing OAuth token.");
      }
    }

    if (tokens != null && tokens.length > 1) {
      throw OAuthProblemException.error(
          OAuthError.TokenResponse.INVALID_REQUEST, "Multiple tokens attached.");
    }

    String oauthVersionDiff =
        ResourceServer.getQueryParameterValue(request, OAuth.OAUTH_VERSION_DIFFER);
    if (!OAuthUtils.isEmpty(oauthVersionDiff)) {
      throw OAuthProblemException.error(
          OAuthError.TokenResponse.INVALID_REQUEST, "Incorrect OAuth version. Found OAuth V1.0.");
    }
  }