code: protected String replaceSimpleGroupNameVariables(String str, List<String> groupNames,
              List<String> groupValues, boolean debugPrint) {
          String result = str;
          int length = Math.min(groupNames.size(), groupValues.size());
          for (int i=0; i < length; i++) {
              if (groupNames  != null && groupNames.get(i)  != null &&
                  groupValues != null && groupValues.get(i) != null) {
                  result = result.replace("{"+groupNames.get(i)+"}", groupValues.get(i));
              }
          }
          if (debugPrint) {
              System.out.println("    In PostgreSQLBackend.replaceSimpleGroupNameVariables:");
              System.out.println("      str        : " + str);
              System.out.println("      groupNames : " + groupNames);
              System.out.println("      groupValues: " + groupValues);
              System.out.println("      result     : " + result);
          }
          return result;
      }
docs: Returns the specified String, after replacing certain simple "variables",
  if any, such as {foo}, where "foo" is in the List of groupNames, with
  the corresponding element in the List of groupValues. This handles the
  simple cases in replaceGroupNameVariables below, that do not have to
  do complicated substitutions of table and column names, or worry about
  primary keys (e.g., for an UPSERT statement).