code: public void addAllListeners(PropertyChangeListener listener, Object newObject, Set updateSet) {
          addListeners(listener, newObject, updateSet);
          if ((children != null) && (children.length > 0)) {
              try {
                  Object newValue = null;
                  if (newObject != null) {
                      updateSet.add(newObject);
                      newValue = extractNewValue(newObject);
                  }
                  for (BindPath child : children) {
                      child.addAllListeners(listener, newValue, updateSet);
                  }
              } catch (Exception e) {
                  e.printStackTrace(System.out);
                  //LOGME
                  // do we ignore it, or fail?
              }
          }
      }
docs: Adds all the listeners to the objects in the bind path.
  This assumes that we are not added as listeners to any of them, hence
  it is not idempotent.
  
  @param listener This listener to attach.
  @param newObject The object we should read our property off of.
  @param updateSet The list of objects we have added listeners to