docs: private String unescape(String input, char c) {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "unescape", new Object[]{input, c});
  
      String result = input;
      // if there are no instances of c in the String we can just return the original
      if (input.indexOf(c) != -1) {
        int startValue = 0;
        StringBuffer temp = new StringBuffer(input);
        String cStr = new String(new char[] { c });
        while ((startValue = temp.indexOf(cStr, startValue)) != -1) {
          if (startValue > 0 && temp.charAt(startValue - 1) == '\\') {
            // remove the preceding slash to leave the escaped character
            temp.deleteCharAt(startValue - 1);
          }
          else {
            startValue++;
          }
        }
        result = temp.toString();
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "unescape",  result);
      return result;
    }