public Date getNextTriggerDate() {
        // Use last trigger date as base date for calculating the next trigger
        if (triggerDate != null) baseDate = triggerDate;

        // Clear the last trigger date, so it's reflecting the current status of this date trigger
        triggerDate = null;

        Log.d(TAG, "Get next trigger date" +
            ", baseDate=" + baseDate +
            ", triggerOptions=" + optionsTrigger.toString() +
            ", occurrence=" + occurrence);

        // All occurrences have been run through
        if (isLastOccurrence()) return null;

        Date nextTriggerDate = calculateNextTrigger(dateToCalendar(baseDate));

        Log.d(TAG, "Next trigger date: " + nextTriggerDate + ", notificationId=" + options.getId());
        
        if (nextTriggerDate == null) return null;

        // Count occurrence
        occurrence++;

        // Remember trigger date
        triggerDate = nextTriggerDate;

        return nextTriggerDate;
    }
Gets the next trigger date.
@param base The date from where to calculate the trigger date.
@return null if there's none next trigger date.
src/android/trigger/TriggerHandler.java