There is error in ColorPicker code:
for ( int i = 0, row = 0; i < colors.length; i++, row++ ) {
for ( int y = 0; y < 7 && i < colors.length; y++, i++ ) {
table.setWidget( row, y, new ColorBox( this, colors[i] ) );
}
}
variable i is incremented twice and this causes that some colors are missing. For example white