code: public static BitChromosome of(final BitSet bits, final int length) {
  		final byte[] bytes = bit.newArray(length);
  		for (int i = 0; i < length; ++i) {
  			if (bits.get(i)) {
  				bit.set(bytes, i);
  			}
  		}
  		final double p = (double)bit.count(bytes)/(double)length;
  
  		return new BitChromosome(bytes, length, p);
  	}
docs: Create a new {@code BitChromosome} with the given parameters.
  
  @param length length of the BitChromosome.
  @param bits the bit-set which initializes the chromosome
  @return a new {@code BitChromosome} with the given parameter
  @throws NegativeArraySizeException if the {@code length} is smaller
  than one.
  @throws NullPointerException if the {@code bitSet} is
  {@code null}.