docs: public void handle(Emitter emitter, byte[] str, int len) {
          YEmitter.Extra bonus = (YEmitter.Extra)emitter.bonus;
          IRubyObject dest = bonus.port;
          if(dest instanceof RubyString) {
              ((RubyString)dest).cat(new ByteList(str, 0, len, false));
          } else {
              dest.callMethod(runtime.getCurrentContext(), "write", RubyString.newStringShared(runtime, str, 0, len));
          }
      }