encoder.encode( "B", Arrays.asList( "A" ) );
encoder.encode( "C", Arrays.asList( "A" ) );
encoder.encode( "D", Arrays.asList( "B" ) );
encoder.encode( "E", Arrays.asList( "B" ) );
encoder.encode( "F", Arrays.asList( "C" ) );
encoder.encode( "G", Arrays.asList( "C" ) );
System.out.println( encoder );
assertEquals( parseBitSet("0"), encoder.getCode("A"));
assertEquals( parseBitSet( "1" ), encoder.getCode( "B" ) );