code: ResolveResult<? extends AbstractConfigValue> resolveSubstitutions(ResolveContext context, ResolveSource source)
              throws NotPossibleToResolve {
          return ResolveResult.make(context, this);
      }
docs: Called only by ResolveContext.resolve().
  
  @param context
  state of the current resolve
  @param source
  where to look up values
  @return a new value if there were changes, or this if no changes