docs: @Override
      Object parent() {
          if (length() == 0) return Undefined.instance;
  
          XML candidateParent = null;
  
          for (int i = 0; i < length(); i++) {
              Object currParent = getXmlFromAnnotation(i).parent();
              if (!(currParent instanceof XML)) return Undefined.instance;
              XML xml = (XML)currParent;
              if (i == 0) {
                  // Set the first for the rest to compare to.
                  candidateParent = xml;
              } else {
                  if (candidateParent.is(xml)) {
                      //    keep looking
                  } else {
                      return Undefined.instance;
                  }
              }
          }
          return candidateParent;
      }