docs: @Override
      public ForkChannel disconnect() {
          if(state != State.CONNECTED)
              return this;
          prot_stack.down(new Event(Event.DISCONNECT, local_addr)); // will be discarded by ForkProtocol
          prot_stack.stopStack(cluster_name);
          ((ForkProtocolStack)prot_stack).remove(fork_channel_id);
          nullFields();
          state=State.OPEN;
          notifyChannelDisconnected(this);
          return this;
      }