private void changeToken(final String verifier) {

    int status = NOT_AUTHENTICATED;

    try {
      final Parameters params = new Parameters("oauth_verifier", verifier);

      final String method = "POST";
      OAuth.signOAuth(
          host,
          pathAccess,
          method,
          https,
          params,
          OAtoken,
          OAtokenSecret,
          consumerKey,
          consumerSecret);
      final String line =
          StringUtils.defaultString(
              Network.getResponseData(
                  Network.postRequest(getUrlPrefix() + host + pathAccess, params)));

      OAtoken = "";
      OAtokenSecret = "";

      final MatcherWrapper paramsMatcher1 = new MatcherWrapper(paramsPattern1, line);
      if (paramsMatcher1.find()) {
        OAtoken = paramsMatcher1.group(1);
      }
      final MatcherWrapper paramsMatcher2 = new MatcherWrapper(paramsPattern2, line);
      if (paramsMatcher2.find() && paramsMatcher2.groupCount() > 0) {
        OAtokenSecret = paramsMatcher2.group(1);
      }

      if (StringUtils.isBlank(OAtoken) && StringUtils.isBlank(OAtokenSecret)) {
        OAtoken = "";
        OAtokenSecret = "";
        setTokens(null, null, false);
      } else {
        setTokens(OAtoken, OAtokenSecret, true);
        status = AUTHENTICATED;
      }
    } catch (Exception e) {
      Log.e("OAuthAuthorizationActivity.changeToken", e);
    }

    changeTokensHandler.sendEmptyMessage(status);
  }