+ if (cross_reload_ref_pollution) {
+ // This really, really needs to be handled at the bindings layer, but its rather complicated -
+ // ChannelSigners can be cloned and passed around without java being involved, resulting in them being
+ // owned by both one or more ChannelMonitors and a ChannelManager, with only one having proper pointers
+ // to the ChannelSigner. Ideally, the ChannelSigner would have a global reference to the Java
+ // implementation class, but that results in circular references. Instead, we need some ability to,
+ // while cloning ChannelSigners, add new references in the calling Java struct (ie ChannelMonitor) to
+ // the ChannelSigner.
+ this.ptr_to = orig.chan_manager;
+ }
+