* @return continues with simulation
     */
    @Override
    public boolean goOn(StochasticSimulator process) {
        
        if (process.getCurrentTime() >= maxTime) {
            // if exceed maxTime then stop
            return false;
            
        } else {
            
            // stop depending on model state
            
            int numI = model.getNumberOfAgentsInState(IndividualStateType.INFECTED);
            numI     = numI + model.getNumberOfAgentsInState(IndividualStateType.EXPOSED);
            
            int numR = model.getNumberOfAgentsInState( model.rates.getLastState() );
            
            if ( numI <= 0.5 ) {
                // if no more infecteds then stop
                return false;
            } else if ( numR > (model.getN()-0.5) ) {
                // if all are recovered, or immune then stop
                return false;
            } else {
                // else carry on
                return true;
            }
        }
        
        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }