if (logger.isInfEnabled()) logger.info("mySub had added or changed tasks - regardless of whether they are wellformed, we are waking up the listener");
  public void reactToChangedFilter () {    int i = 0;    Collection removedCollection = mySub.getRemovedCollection ();    Collection tasksForListener = new HashSet();    for (Iterator iter = mySub.getAddedCollection ().iterator(); iter.hasNext();) {      Task t = (Task) iter.next();      if (removedCollection.contains (t))	continue;	        if (isWellFormed (t)) {	if (!listenerIsBuffering)	  ((UTILGenericListener) myListener).handleTask (t);	else	  tasksForListener.add (t);	if (logger.isDebugEnabled()) 	  logger.debug ("UTILBufferingCallback : Notifying " + myListener + 			" about " + t.getUID());	i++;      }    }    for (Iterator iter = mySub.getChangedCollection().iterator(); iter.hasNext();) {      Task changedT = (Task)iter.next();      if (removedCollection.contains (changedT))	continue;      if (isWellFormed (changedT)) {	if (!listenerIsBuffering)	  ((UTILGenericListener) myListener).handleTask (changedT);	else	  tasksForListener.add (changedT);	if (logger.isDebugEnabled()) 	  logger.debug ("UTILBufferingCallback : Notifying " + myListener + 			" about changed task " + changedT.getUID());	i++;      }    }    if (listenerIsBuffering)      ((UTILListeningBufferingThread) myListener).handleAll (tasksForListener);    if (!mySub.getAddedCollection().isEmpty() || 	!mySub.getChangedCollection().isEmpty()) {      // synchronize ????????      if (logger.isInfoEnabled())	logger.info ("UTILBufferingCallback : Notifying " + myListener + 		     " about " + i + 		     " tasks");      ((UTILGenericListener) myListener).wakeUp();    }    if (!mySub.getRemovedCollection().isEmpty ()) {      for (Iterator iter = mySub.getRemovedCollection().iterator(); iter.hasNext();) {	Task t = (Task) iter.next();	if (logger.isDebugEnabled())	  logger.debug ("UTILBufferingCallback : Telling listener that task " + t.getUID() + 			" was removed.");	((UTILGenericListener) myListener).handleRemovedTask(t);      }    }  }