public synchronized boolean occurence() {

        boolean result = false;
        
        totalEvents++;       
        // figure out next slot and put it there
        lastEntry = (lastEntry+1)%NUMBER_OF_OCCURRENCES_TO_BE_CONSIDERED_AS_BOT;
        oldestSlot = (oldestSlot+1)%NUMBER_OF_OCCURRENCES_TO_BE_CONSIDERED_AS_BOT;
        
        slots[lastEntry] = System.currentTimeMillis() / 1000;
        
        if (totalEvents > (NUMBER_OF_OCCURRENCES_TO_BE_CONSIDERED_AS_BOT - 1)) {
            result = evaluateBot();
        }

        return result;
    }