@Override
  public PdxString getSavedPdxString(int index) {
    if (bindArgumentToPdxStringMap == null) {
      bindArgumentToPdxStringMap = new HashMap<>();
    }

    PdxString pdxString = bindArgumentToPdxStringMap.get(index - 1);
    if (pdxString == null) {
      pdxString = new PdxString((String) bindArguments[index - 1]);
      bindArgumentToPdxStringMap.put(index - 1, pdxString);
    }
    return pdxString;
  }
creates new PdxString from String and caches it
geode-core/src/main/java/org/apache/geode/cache/query/internal/QueryExecutionContext.java