code: void kickstart() throws IOException {
          if (state >= 0) {
              return;
          }
  
          HandshakeMessage m = getKickstartMessage();
  
          if (debug != null && Debug.isOn("handshake")) {
              m.print(System.out);
          }
          m.write(output);
          output.flush();
  
          state = m.messageType();
      }
docs: /*
  Used to kickstart the negotiation ... either writing a
  ClientHello or a HelloRequest as appropriate, whichever
  the subclass returns.  NOP if handshaking's already started.