@Override
  public Long send(SocketManager socketManager) throws IOException {
    String response = socketManager.sendAndWait(getMessage());

    try {
      return Long.parseLong(response);
    } catch (NumberFormatException e) {
      /*
       * If unable to determine uptime, the string "Could not determine uptime." is
       * returned.
       */
      return -1l;
    }
  }
 @Override
 public String sendAndWait(String message) throws IOException {
   connectIfNecessary();
   return delegate.sendAndWait(message);
 }
 @Override
 public String sendAndWait(String message, long timeout, TimeUnit unit) throws IOException {
   connectIfNecessary();
   return delegate.sendAndWait(message, timeout, unit);
 }
 @Override
 public List<Channel> send(SocketManager socketManager) throws IOException {
   String response = socketManager.sendAndWait(getMessage());
   return Control0_24Utils.parseChannels(response);
 }