docs: @JRubyMethod
      public static IRubyObject initialize_copy(IRubyObject copy, IRubyObject orig) {
          if(copy == orig) {
              return copy;
          }
  
          if(orig.getClass() != RubyObject.class) {
              throw copy.getRuntime().newTypeError("wrong argument type");
          }
  
          org.yecht.Node orig_n = (org.yecht.Node)orig.dataGetStructChecked();
          org.yecht.Node copy_n = (org.yecht.Node)copy.dataGetStructChecked();
  
          copy_n.id = orig_n.id;
          copy_n.kind = orig_n.kind;
          copy_n.type_id = orig_n.type_id;
          copy_n.anchor = orig_n.anchor;
          copy_n.data = orig_n.data.copy();
  
          return copy;
      }