code: public int toByteArray(final byte[] bytes) {
  		if (bytes.length < _genes.length) {
  			throw new IndexOutOfBoundsException();
  		}
  
  		System.arraycopy(_genes, 0, bytes, 0, _genes.length);
  		return _genes.length;
  	}
docs: Returns the two's-complement binary representation of this
  large integer. The output array is in <i>big-endian</i>
  byte-order: the most significant byte is at the offset position.
  
  <p>Note: This representation is consistent with {@code java.lang.BigInteger
  } byte array representation and can be used for conversion
  between the two classes.</p>
  
  @param bytes the bytes to hold the binary representation
  (two's-complement) of this large integer.
  @return the number of bytes written.
  @throws IndexOutOfBoundsException
  if {@code bytes.length < (int)Math.ceil(length()/8.0)}
  @throws NullPointerException it the give array is {@code null}.