/** cleans the data structure implementing the delta domain */
 public void clearDeltaDomain() {
   delatDom.clear();
 }
 /**
  * after an iteration over the delta domain, the delta domain is reopened again.
  *
  * @return true iff the delta domain is reopened empty (no updates have been made to the domain
  *     while it was frozen, false iff the delta domain is reopened with pending value removals
  *     (updates were made to the domain, while the delta domain was frozen).
  */
 public boolean releaseDeltaDomain() {
   return delatDom.release();
 }
 public boolean getReleasedDeltaDomain() {
   return delatDom.isReleased();
 }
 /**
  * The delta domain container is "frozen" (it can no longer accept new value removals) so that
  * this set of values can be iterated as such
  */
 public void freezeDeltaDomain() {
   delatDom.freeze();
 }
 @Override
 public IDeltaDomain copyDelta() {
   return delatDom.copy();
 }
 public DisposableIntIterator getDeltaIterator() {
   return delatDom.iterator();
 }
 private void addIndex(int i) {
   contents.set(i);
   delatDom.remove(i + offset);
   if (!contents.get(i)) LOGGER.severe("etrange etrange");
   size.add(1);
 }
 private void removeIndex(int i) {
   contents.clear(i);
   delatDom.remove(i + offset);
   if (contents.get(i)) LOGGER.severe("etrange etrange");
   size.add(-1);
 }