long durationStart = Long.valueOf(infoMap.get(DATAMAP_START_TIME)); // in milliseconds
AlertConditionOperator operator = AlertConditionOperator.valueOf(infoMap.get(DATAMAP_OPERATOR));
// get the availabilities for the duration period, one consistent duration will indicate a duration condition
AvailabilityCriteria criteria = new AvailabilityCriteria();
criteria.addFilterResourceId(resourceId);
long durationEnd = durationStart + (duration * 1000);
criteria.addFilterInterval((durationStart + 1), (durationEnd - 1)); // reduced 1ms to fake exclusive interval filter.
criteria.addSortStartTime(PageOrdering.ASC);
List<Availability> avails = LookupUtil.getAvailabilityManager().findAvailabilityByCriteria(
LookupUtil.getSubjectManager().getOverlord(), criteria);