question: public void registerListeners ( PropertyChangeSupport pcs ) { PropertyChangeListener listener = new HPChangeListener ( ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "base_hp" , listener ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "hp" , listener ) ; listener = new ATKChangeListener ( ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "atk" , listener ) ; pcs . addPropertyChangeListener ( "atk_xp" , listener ) ; listener = new DEFChangeListener ( ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "def" , listener ) ; pcs . addPropertyChangeListener ( "def_xp" , listener ) ; if ( Testing . COMBAT ) { listener = new RATKChangeListener ( ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "ratk" , listener ) ; pcs . addPropertyChangeListener ( "ratk_xp" , listener ) ; } listener = new XPChangeListener ( ) ; pcs . addPropertyChangeListener ( "xp" , listener ) ; listener = new LevelChangeListener ( ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "level" , listener ) ; listener = new WeaponChangeListener ( ) ; pcs . addPropertyChangeListener ( "atk_item" , listener ) ; listener = new ArmorChangeListener ( ) ; pcs . addPropertyChangeListener ( "def_item" , listener ) ; if ( Testing . COMBAT ) { listener = new RangedWeaponChangeListener ( ) ; pcs . addPropertyChangeListener ( "ratk_item" , listener ) ; } listener = new MoneyChangeListener ( ) ; for ( String slot : MONEY_SLOTS ) { pcs . addPropertyChangeListener ( slot , listener ) ; } listener = new EatingChangeListener ( ) ; pcs . addPropertyChangeListener ( "eating" , listener ) ; pcs . addPropertyChangeListener ( "choking" , listener ) ; listener = new StatusChangeListener ( ) ; for ( StatusID id : StatusID . values ( ) ) { pcs . addPropertyChangeListener ( id . getAttribute ( ) , listener ) ; } listener = new AwayChangeListener ( ) ; pcs . addPropertyChangeListener ( "away" , listener ) ; listener = new GrumpyChangeListener ( ) ; pcs . addPropertyChangeListener ( "grumpy" , listener ) ; listener = new KarmaChangeListener ( ) ; pcs . addPropertyChangeListener ( "karma" , listener ) ; listener = new ManaChangeListener ( ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "base_mana" , listener ) ; addPropertyChangeListenerWithModifiedSupport ( pcs , "mana" , listener ) ; }
target:  Add listeners for all the properties this object follows.