question: public KeyChange ( String newKeyData , DSAPublicKey changeKey , boolean allowsUnsignedChanges , boolean allowsPublicVisibility , byte [ ] msg , byte [ ] sig , long epoch , long counter ) { this . newKeyData = newKeyData ; this . newChangeKey = changeKey ; this . allowsUnsignedChanges = allowsUnsignedChanges ; this . allowsPublicVisibility = allowsPublicVisibility ; this . msg = msg == null ? null : Arrays . copyOf ( msg , msg . length ) ; this . sig = sig == null ? null : Arrays . copyOf ( sig , sig . length ) ; this . epoch = epoch ; this . counter = counter ; Logging . log ( "Made a KC object with sig = " + Arrays . toString ( this . sig ) ) ; }
target:  A KeyChange object does the actual work of changing the name-to-key mapping.