code: private void closeOutboundInternal() {
  
          if ((debug != null) && Debug.isOn("ssl")) {
              System.out.println(threadName() + ", closeOutboundInternal()");
          }
  
          /*
           * Already closed, ignore
           */
          if (writer.isOutboundDone()) {
              return;
          }
  
          switch (connectionState) {
  
          /*
           * If we haven't even started yet, don't bother reading inbound.
           */
          case cs_START:
              writer.closeOutbound();
              inboundDone = true;
              break;
  
          case cs_ERROR:
          case cs_CLOSED:
              break;
  
          /*
           * Otherwise we indicate clean termination.
           */
          // case cs_HANDSHAKE:
          // case cs_DATA:
          // case cs_RENEGOTIATE:
          default:
              warning(Alerts.alert_close_notify);
              writer.closeOutbound();
              break;
          }
  
          // See comment in changeReadCiphers()
          writeCipher.dispose();
  
          connectionState = cs_CLOSED;
      }
docs: Signals that no more outbound application data will be sent
  on this <code>SSLEngine</code>.