docs: ContentMatcher remove(
      Conjunction selector,
      MatchTarget object,
      InternTable subExpr,
      OrdinalPosition parentId)
      throws MatchingException
    {
      SimpleTest test = Factory.findTest(ordinalPosition, selector);
      if (test == null)
        super.remove(selector, object, subExpr, ordinalPosition);
      else
        if (test.getKind() == SimpleTest.NULL)
          nullChild =
            (ContentMatcher) nullChild.remove(selector, object, subExpr, ordinalPosition);
        else
          if (test.getKind() == SimpleTest.NOTNULL)
            notNullChild =
              (ContentMatcher) notNullChild.remove(
                selector,
                object,
                subExpr,
                ordinalPosition);
          else
            handleRemove(test, selector, object, subExpr, ordinalPosition);
      if (isEmpty())
      {
        if (vacantChild instanceof DifficultMatcher) 
        {
          // reset the vacant child's ordinal position to our parent's, as this SimpleMatcher is
          // to be deleted
          vacantChild.ordinalPosition = parentId;
        }
        return vacantChild;
      }
      else
        return this;
    }