private static synchronized boolean isSupportedImpl(HttpCallerInfo hci){
  if (supported == null) {
    supported=new HashMap<String,Boolean>();
    cache=new HashMap<String,Negotiator>();
  }
  String hostname=hci.host;
  hostname=hostname.toLowerCase();
  if (supported.containsKey(hostname)) {
    return supported.get(hostname);
  }
  Negotiator neg=Negotiator.getNegotiator(hci);
  if (neg != null) {
    supported.put(hostname,true);
    cache.put(hostname,neg);
    return true;
  }
 else {
    supported.put(hostname,false);
    return false;
  }
}

private static synchronized boolean isSupportedImpl ( HttpCallerInfo hci ) { if ( supported == null ) { supported = new HashMap < String , Boolean > ( ) ; cache = new HashMap < String , Negotiator > ( ) ; } String hostname = hci . host ; hostname = hostname . toLowerCase ( ) ; if ( supported . containsKey ( hostname ) ) { return supported . get ( hostname ) ; } Negotiator neg = Negotiator . getNegotiator ( hci ) ; if ( neg != null ) { supported . put ( hostname , true ) ; cache . put ( hostname , neg ) ; return true ; } else { supported . put ( hostname , false ) ; return false ; } }
find out if the httpcallerinfo supports negotiate protocol . in order to find out yes or no , an initialization of a negotiator object against it is tried . the generated object will be cached under the name of ths hostname at a success try . < br > if this method is called for the second time on an httpcallerinfo with the same hostname , the answer is retrieved from cache .
