private boolean removeDomains(Set<Domain> aDomains, AsyncCallback<Void> aCallback) {
//remove the domains (all domain registrations)
Set<Domain> theRemovableDomains = new HashSet<Domain>(aDomains);
Iterator<Domain> theDomainIterator = theRemovableDomains.iterator();
while(theDomainIterator.hasNext()) {
Domain theDomain = theDomainIterator.next();
if(myDomainListenerMapping.remove(theDomain) == null) {
theDomainIterator.remove();
}
}
boolean isRemoved = !theRemovableDomains.isEmpty();