question: public StateInfo ( StateInfo info ) { this . state = info . state ; this . font = info . font ; if ( info . data != null ) { if ( data == null ) { data = new HashMap ( ) ; } data . putAll ( info . data ) ; } if ( info . colors != null ) { this . colors = new Color [ info . colors . length ] ; System . arraycopy ( info . colors , 0 , colors , 0 , info . colors . length ) ; } }
target:  Creates a new StateInfo that is a copy of the passed in StateInfo.