public OutstandingRequestToken(Principal user,int requestLimit,Meter requestMeter,Meter rejectMeter){
  userName=String.valueOf(user == null ? null : user.getName());
  count=getCount(userName);
  if (!incrementAndCheckCount(globalCount,requestLimitGlobal)) {
    rejectRequest(rejectMeter,RateLimitType.GLOBAL);
    return;
  }
  if (!incrementAndCheckCount(count,requestLimit)) {
    globalCount.decrementAndGet();
    rejectRequest(rejectMeter,RateLimitType.USER);
    return;
  }
  requestMeter.mark();
  requestGlobalCounter.inc();
  isBound=true;
}

public OutstandingRequestToken ( Principal user , int requestLimit , Meter requestMeter , Meter rejectMeter ) { userName = String . valueOf ( user == null ? null : user . getName ( ) ) ; count = getCount ( userName ) ; if ( ! incrementAndCheckCount ( globalCount , requestLimitGlobal ) ) { rejectRequest ( rejectMeter , RateLimitType . GLOBAL ) ; return ; } if ( ! incrementAndCheckCount ( count , requestLimit ) ) { globalCount . decrementAndGet ( ) ; rejectRequest ( rejectMeter , RateLimitType . USER ) ; return ; } requestMeter . mark ( ) ; requestGlobalCounter . inc ( ) ; isBound = true ; }
bind outstanding request to token , or fail and set to unbound .
