code: void handleRemove(SimpleTest test, Conjunction selector,
                      MatchTarget object, InternTable subExpr, OrdinalPosition parentId) throws MatchingException
    {
      if (tc.isEntryEnabled())
  	  tc.entry(this,cclass, "handleRemove", new Object[]{test,selector,object,subExpr});
  	    	
      // The following returns the comparand if test is an equality test, null otherwise
      Object value = test.getValue();
      if (value != null)
        handleEqualityRemove(new Wrapper(value), selector, object, subExpr, parentId);
      else {
        // Inequality or range, was in CheapRangeTable
        ContentMatcher next = (ContentMatcher) ranges.getExact(test);
        // Delete the subscription, also deleting a Matcher if called for and replacing with
        // descendent or null
        ContentMatcher newNext = (ContentMatcher) next.remove(selector,
          object, subExpr, ordinalPosition);
        // See if Matcher was replaced or removed, and reflect that change in the right place
        if (newNext != next)
          if (newNext != null)
            ranges.replace(test, newNext);
          else
            ranges.remove(test);
      }
      if (tc.isEntryEnabled())
  	  tc.exit(this,cclass, "handleRemove");          
    }
docs: ------------------------------------------------------------------------------