question: public boolean remove ( Object obj ) { boolean ret = super . remove ( obj ) ; if ( obj instanceof BeanContextMembershipListener ) { super . removeBeanContextMembershipListener ( ( BeanContextMembershipListener ) obj ) ; } return ret ; }
target:  Added because apparently, the BeanContext doesn't check to see if the object is also a membership listener to remove it from that list. This method removes the object from that list, too, if it is a BeanContextMembershipListener.