public boolean hasWillAttendForFutureEvent() {
        if (!isEventCache()) {
            return false;
        }
        final Date eventDate = getHiddenDate();
        final boolean expired = CalendarUtils.isPastEvent(this);
        if (eventDate == null || expired) {
            return false;
        }

        boolean willAttend = false;
        final List<LogEntry> logs = getLogs();
        for (final LogEntry logEntry : logs) {
            final LogType logType = logEntry.logType;
            if (logType == LogType.ATTENDED) {
                return false;
            } else if (logType == LogType.WILL_ATTEND && logEntry.isOwn()) {
                willAttend = true;
            }
        }
        return willAttend;
    }
Compare two caches quickly. For map and list fields only the references are compared !

@param other the other cache to compare this one to
@return true if both caches have the same content
main/src/main/java/cgeo/geocaching/models/Geocache.java