code: public void runTask() {
  		if (isCanceled()) {
  			scheduler.cancel(this.getData().getTaskID());			
  		}
  		else {
  			try{
  				taskData.getJavaUtilTimerTask().run();
  				if(taskData.getPeriodicScheduleStrategy() == null) {
  					scheduler.cancel(this.getData().getTaskID());
  				}
  				else {
  					if (logger.isDebugEnabled()) {
  						logger.debug("task data has a periodic schedule strategy, not cancelling the task");
  					}
  				}
  			} catch(Throwable e) {
  				logger.error(e.getMessage(),e);
  			}					
  		}				
  	}
docs: /*
  (non-Javadoc)
  @see TimerTask#runTask()