docs: @JRubyMethod
      public static IRubyObject add(IRubyObject self, IRubyObject key, IRubyObject val) {
          IRubyObject emitter = (IRubyObject)((RubyObject)self).fastGetInstanceVariable("@emitter");
          org.yecht.Node node = (org.yecht.Node)self.dataGetStructChecked();
          if(emitter.respondsTo("node_export")) {
              key = emitter.callMethod(self.getRuntime().getCurrentContext(), "node_export", key);
              val = emitter.callMethod(self.getRuntime().getCurrentContext(), "node_export", val);
          }
          node.mapAdd(key, val);
          ((RubyHash)((RubyObject)self).fastGetInstanceVariable("@value")).fastASet(key, val);
          return self;
      }