code: public void removeListener(ChangeListener listener) {
          synchronized (hsChangeListeners) {
              hsChangeListeners.remove(listener);
              changeListenerCount = hsChangeListeners.size();
              bUpdateChangeListener = true;
          }
      }
docs: This removes a specified listener for the Change listener. If it was not already registered
  then this call is ignored.
  @param listener The listener to be removed.