public double percentage(Constant v){
  if (pcts.containsKey(v))   return pcts.get(v);
  SortedSet<Constant> sorted=values();
  if (v.compareTo(sorted.first()) < 0)   return 0.0;
  Constant prev=null;
  for (  Constant pct : sorted) {
    if (prev != null && v.compareTo(prev) >= 0 && v.compareTo(pct) < 0)     return pcts.get(prev);
    prev=pct;
  }
  return pcts.get(sorted.last());
}

public double percentage ( Constant v ) { if ( pcts . containsKey ( v ) ) return pcts . get ( v ) ; SortedSet < Constant > sorted = values ( ) ; if ( v . compareTo ( sorted . first ( ) ) < 0 ) return 0.0 ; Constant prev = null ; for ( Constant pct : sorted ) { if ( prev != null && v . compareTo ( prev ) >= 0 && v . compareTo ( pct ) < 0 ) return pcts . get ( prev ) ; prev = pct ; } return pcts . get ( sorted . last ( ) ) ; }
gets the percent of values below the specified value .
