final int batchFor(long b){
  long n;
  if (b == Long.MAX_VALUE || (n=sumCount()) <= 1L || n < b)   return 0;
  int sp=ForkJoinPool.getCommonPoolParallelism() << 2;
  return (b <= 0L || (n/=b) >= sp) ? sp : (int)n;
}

final int batchFor ( long b ) { long n ; if ( b == Long . MAX_VALUE || ( n = sumCount ( ) ) <= 1L || n < b ) return 0 ; int sp = ForkJoinPool . getCommonPoolParallelism ( ) << 2 ; return ( b <= 0L || ( n /= b ) >= sp ) ? sp : ( int ) n ; }
computes initial batch value for bulk tasks . the returned value is approximately exp2 of the number of times ( minus one ) to split task by two before executing leaf action . this value is faster to compute and more convenient to use as a guide to splitting than is the depth , since it is used while dividing by two anyway .
