public boolean remove(Object obj){
  boolean ret=super.remove(obj);
  if (obj instanceof BeanContextMembershipListener) {
    super.removeBeanContextMembershipListener((BeanContextMembershipListener)obj);
  }
  return ret;
}

public boolean remove ( Object obj ) { boolean ret = super . remove ( obj ) ; if ( obj instanceof BeanContextMembershipListener ) { super . removeBeanContextMembershipListener ( ( BeanContextMembershipListener ) obj ) ; } return ret ; }
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 .
