code: public String parse(String source) {
          StringBuffer sbuf = new StringBuffer(source);
          Iterator key_it = argmap.keySet().iterator();
  
          //skipped = new RangeList();
          // What was this for??
          //process(source, "\"", "\""); // NOI18N
          while (key_it.hasNext()) {
              String it_key = (String) key_it.next();
              String it_obj = formatObject(argmap.get(it_key));
              int it_idx = -1;
  
              do {
                  it_idx = sbuf.toString().indexOf(it_obj, ++it_idx);
  
                  if (it_idx >= 0 /* && !skipped.containsOffset(it_idx) */) {
                      sbuf.replace(it_idx, it_idx + it_obj.length(), ldel + it_key + rdel);
  
                      //skipped = new RangeList();
                      // What was this for??
                      //process(sbuf.toString(), "\"", "\""); // NOI18N
                  }
              } while (it_idx != -1);
          }
  
          return sbuf.toString();
      }
docs: Parses the string. Does not yet handle recursion (where
  the substituted strings contain {n} references.)
  
  @return New format.