public static BitArray allocate(long bits){
  if (!(bits > 0 & (bits & (bits - 1)) == 0))   throw new IllegalArgumentException("size must be a power of 2");
  return new BitArray(HeapBytes.allocate(Math.max(bits / 8 + 8,8)),bits);
}

public static BitArray allocate ( long bits ) { if ( ! ( bits > 0 & ( bits & ( bits - 1 ) ) == 0 ) ) throw new IllegalArgumentException ( "size must be a power of 2" ) ; return new BitArray ( HeapBytes . allocate ( Math . max ( bits / 8 + 8 , 8 ) ) , bits ) ; }
allocates a new direct bit set .
