docs: public boolean canAcceptParent(ElementBase parent) {
          if (!canAcceptParent()) {
              return false;
          }
          
          if (!canAcceptParent(getClass(), parent.getClass())) {
              rejectReason = getDisplayName() + " does not accept " + parent.getDisplayName() + " as a parent.";
          } else {
              rejectReason = null;
          }
          
          return rejectReason == null;
      }