@Override
  public TextBuffer toJava(int indent, BytecodeMappingTracer tracer) {
    tracer.addMapping(bytecode);
    //if it is impossible to process
    TextBuffer buf = new TextBuffer();
    if (isBootstrapSwitch(this)) {
      InvocationExprent invocationExprent = (InvocationExprent)value;
      List<Exprent> parameters = invocationExprent.getParameters();
      if (parameters.size() == 2) {
        Exprent exprent = parameters.get(1);
        buf.append("//$FF: ").append(exprent.toJava(indent, tracer)).append("->").append("value").appendLineSeparator();
        tracer.incrementCurrentSourceLine();
        List<PooledConstant> arguments = invocationExprent.getBootstrapArguments();
        for (int i = 0; i < arguments.size(); i++) {
          PooledConstant argument = arguments.get(i);
          if (argument instanceof PrimitiveConstant primitiveConstant && primitiveConstant.value != null) {
            buf.appendIndent(indent).append("//").append(i).append("->").append(primitiveConstant.value.toString()).appendLineSeparator();
            tracer.incrementCurrentSourceLine();
          }
        }
        buf.appendIndent(indent);
      }
    }
    buf.append(value.toJava(indent, tracer).enclose("switch (", ")"));
    return buf;
  }
@Override
  public TextBuffer toJava(int indent, BytecodeMappingTracer tracer)