code: private SoyValueProvider convertLazy(@Nullable final Object obj) {
      SoyValueProvider convertedPrimitive = convertCheap(obj);
      if (convertedPrimitive != null) {
        return convertedPrimitive;
      } else {
        return new SoyAbstractCachingValueProvider() {
          @Override
          protected SoyValue compute() {
            return convertNonPrimitive(obj).resolve();
          }
  
          @Override
          public RenderResult status() {
            return RenderResult.done();
          }
        };
      }
    }
docs: Returns a SoyValueProvider corresponding to a Java object, but doesn't perform any work until
  resolve() is called.