BitVectorIndividual extends VectorIndividual { public String genotypeToStringForHumans() { StringBuilder s = new StringBuilder(); for( int i = 0 ; i < genome.length ; i++ ) { if( genome[i] ) s.append("1 "); else s.append("0 "); } return s.toString(); }  Parameter defaultBase(); Object clone(); void setup(final EvolutionState state, final Parameter base); void defaultCrossover(EvolutionState state, int thread, VectorIndividual ind); void split(int[] points, Object[] pieces); void join(Object[] pieces); void defaultMutate(EvolutionState state, int thread); void reset(EvolutionState state, int thread); int hashCode(); String genotypeToStringForHumans(); String genotypeToString(); boolean equals(Object ind); Object getGenome(); void setGenome(Object gen); int genomeLength(); void setGenomeLength(int len); void writeGenotype(final EvolutionState state,
        final DataOutput dataOutput); void readGenotype(final EvolutionState state,
        final DataInput dataInput); double distanceTo(Individual otherInd); static final String P_BITVECTORINDIVIDUAL; public boolean[] genome; }
@Test public void testGenotypeToStringForHumans() { BitVectorIndividual ind = new BitVectorIndividual(); boolean[] gen = {true,false,true,false,true}; ind.setGenome(gen); assertEquals("1 0 1 0 1 ", ind.genotypeToStringForHumans()); }