docs: private ErrorCode sendPing() throws IOException {
          if(LOGGER.isTraceEnabled()){
              LOGGER.trace("......................send Ping");
          }
          lastPingSentNs = System.currentTimeMillis();
          ProtocolHeader h = new ProtocolHeader(-2, ProtocolType.Ping);
          sendAdminPacket(h, null);
  
          int waitTime = session.pingWaitTimeOut;
  
          synchronized(pingResponse){
              while(waitTime > 0){
                  try {
                      pingResponse.wait(waitTime);
                  } catch (InterruptedException e) {
                      // Do nothing.
                  }
  
                  ResponseHeader header = pingResponse.get();
                  if (header != null) {
                      pingResponse.set(null);
                      return header.getErr();
                  }
                  waitTime -= (System.currentTimeMillis() - lastPingSentNs);
              }
          }
          return ErrorCode.PING_TIMEOUT;
      }