docs: private ConfigElement.Reference processReference(ConfigElement.Reference reference, EvaluationContext context, boolean ignoreWarnings) throws ConfigEvaluatorException {
          // Note, ref attributes don't correspond to an attribute definition, so we will always resolve variables (ie, there is no way to specify
          // substitution="deferred" for a ref attribute.
          String resolvedId = context.resolveString(reference.getId(), ignoreWarnings);
          if (reference.getId().equals(resolvedId)) {
              return reference;
          } else {
              return new ConfigElement.Reference(reference.getPid(), resolvedId);
          }
      }