code: private String removeEscapeChar(final String str, final char escapeChar) {
          
          if(str == null || str.isEmpty()) {
              return str;
          }
          
          final String escapeStr = String.valueOf(escapeChar);
          StringBuilder sb = new StringBuilder();
          
          final LinkedList<String> stack = new LinkedList<>();
          
          final int length = str.length();
          for(int i=0; i < length; i++) {
              final char c = str.charAt(i);
              
              if(StackUtils.equalsTopElement(stack, escapeStr)) {
                  // スタックの一番上がエスケープ文字の場合
                  StackUtils.popup(stack);
                  sb.append(c);
                  
              } else if(c == escapeChar) {
                  // スタックに積む
                  stack.push(String.valueOf(c));
                  
              } else {
                  sb.append(c);
              }
              
          }
          
          if(!stack.isEmpty()) {
              sb.append(StackUtils.popupAndConcat(stack));
          }
          
          return sb.toString();
          
      }
docs: エスケープ文字を除去した文字列を取得する。
  @param str
  @param escapeChar
  @return