class BaseSettings extends BeanContextSupport implements Comparable<BaseSettings> {

    public void addPropertyChangeListener(PropertyChangeListener listener) {<FILL_FUNCTION_BODY>}
    public void removePropertyChangeListener(PropertyChangeListener listener) {
        pcSupport.removePropertyChangeListener(listener);
        for (Object s : toArray()) {
            if (s instanceof BaseChildSettings) {
                ((BaseChildSettings)s).removePropertyChangeListener(listener);
            } else if (s instanceof BaseSettings) {
                ((BaseSettings)s).addPropertyChangeListener(listener);
            }
        }
    }

    public int compareTo(BaseSettings o) {
        return getName().compareTo(o.getName());
    }

    protected String getName() {
        return "";
    }

    @Override public Object[] toArray() {
        Object[] a = super.toArray();
        Arrays.sort(a);
        return a;
    }
    @Override public Object[] toArray(Object[] a) {
        a = super.toArray(a);
        Arrays.sort(a);
        return a;
    }
}

        pcSupport.addPropertyChangeListener(listener);
        for (Object s : toArray()) {
            if (s instanceof BaseChildSettings) {
                ((BaseChildSettings)s).addPropertyChangeListener(listener);
            } else if (s instanceof BaseSettings) {
                ((BaseSettings)s).addPropertyChangeListener(listener);
            }
        }
    
<methods>public void <init>() ,public void <init>(java.beans.beancontext.BeanContext) ,public void <init>(java.beans.beancontext.BeanContext, java.util.Locale) ,public void <init>(java.beans.beancontext.BeanContext, java.util.Locale, boolean) ,public void <init>(java.beans.beancontext.BeanContext, java.util.Locale, boolean, boolean) ,public boolean add(java.lang.Object) ,public boolean addAll(Collection#RAW) ,public void addBeanContextMembershipListener(java.beans.beancontext.BeanContextMembershipListener) ,public boolean avoidingGui() ,public void clear() ,public boolean contains(java.lang.Object) ,public boolean containsAll(Collection#RAW) ,public boolean containsKey(java.lang.Object) ,public synchronized void dontUseGui() ,public java.beans.beancontext.BeanContext getBeanContextPeer() ,public synchronized java.util.Locale getLocale() ,public java.net.URL getResource(java.lang.String, java.beans.beancontext.BeanContextChild) ,public java.io.InputStream getResourceAsStream(java.lang.String, java.beans.beancontext.BeanContextChild) ,public java.lang.Object instantiateChild(java.lang.String) throws java.io.IOException, java.lang.ClassNotFoundException,public synchronized boolean isDesignTime() ,public boolean isEmpty() ,public boolean isSerializing() ,public Iterator<java.lang.Object> iterator() ,public synchronized boolean needsGui() ,public synchronized void okToUseGui() ,public void propertyChange(java.beans.PropertyChangeEvent) ,public final void readChildren(java.io.ObjectInputStream) throws java.io.IOException, java.lang.ClassNotFoundException,public boolean remove(java.lang.Object) ,public boolean removeAll(Collection#RAW) ,public void removeBeanContextMembershipListener(java.beans.beancontext.BeanContextMembershipListener) ,public boolean retainAll(Collection#RAW) ,public synchronized void setDesignTime(boolean) ,public synchronized void setLocale(java.util.Locale) throws java.beans.PropertyVetoException,public int size() ,public java.lang.Object[] toArray() ,public java.lang.Object[] toArray(java.lang.Object[]) ,public void vetoableChange(java.beans.PropertyChangeEvent) throws java.beans.PropertyVetoException,public final void writeChildren(java.io.ObjectOutputStream) throws java.io.IOException<variables>protected transient ArrayList<java.beans.beancontext.BeanContextMembershipListener> bcmListeners,private transient java.beans.PropertyChangeListener childPCL,private transient java.beans.VetoableChangeListener childVCL,protected transient HashMap<java.lang.Object,java.beans.beancontext.BeanContextSupport.BCSChild> children,protected boolean designTime,protected java.util.Locale locale,protected boolean okToUseGui,private static final long serialVersionUID,private int serializable,private transient boolean serializing