code: public static Resource wrap(@NotNull Resource resource, @NotNull ValueMap valueMap) {
      return wrap(resource, valueMap, resource.getChildren());
    }
docs: Wrap a real resource and create a synthetic resource out of it.
  @param resource Real resource
  @param valueMap Properties to use instead of the real properties
  @return Resource