public synchronized void start() 
  throws IOException, TimeOutException, CycApiException {
    if (getStatus() != SubLWorkerStatus.NOT_STARTED_STATUS) { 
      throw new RuntimeException("This communication has already been started.");
    }
    setStatus(SubLWorkerStatus.WORKING_STATUS);
    
    CycConnectionInterface conInt = getCycServer().getCycConnection();
    conInt.converseBinary(this);    
  }