cool-core/src/main/java/com/nus/cool/core/cohort/ExtendedCohortSelection.java
private int skipToNextQualifiedBirthTuple(int event, int fromOffset, int endOffset) {

		int passed = 0;
		int nextOffset;
		int numFilter = birthFilters.get(event).entrySet().size();
		if (fromOffset >= endOffset || numFilter == 0)
			return fromOffset;
		while (true) {
			for (Map.Entry<String, FieldFilter> entry : birthFilters.get(event).entrySet()) {
				nextOffset = entry.getValue().nextAcceptTuple(fromOffset, endOffset);
				if (nextOffset > fromOffset) {
					fromOffset = nextOffset;
					passed = 1;
				} else {
					passed++;
				}
				if (passed == numFilter || fromOffset >= endOffset)
					return fromOffset;
			}
		}
	}
/**
	 * @brief find the next tuple where the given @param event is qualified with
	 *        respect to the birth filter
	 *
	 * @param event
	 * @param fromOffset
	 * @param endOffset
	 *
	 * @return the offset of the qualified tuple, or @param endOffset if not
	 *         found
	 */
@brief find the next tuple where the given @param event is qualified with
respect to the birth filter



@return the offset of the qualified tuple, or @param endOffset if not
found
@brief find the next tuple where the given @param event is qualified with respect to the birth filter @return the offset of the qualified tuple or @param endOffset if not found
private int skipToNextQualifiedBirthTuple(int event, int fromOffset, int endOffset) {
		int passed = 0;
		int nextOffset;
		int numFilter = birthFilters.get(event).entrySet().size();
		if (fromOffset >= endOffset || numFilter == 0)
			return fromOffset;
		while (true) {
			for (Map.Entry<String, FieldFilter> entry : birthFilters.get(event).entrySet()) {
				nextOffset = entry.getValue().nextAcceptTuple(fromOffset, endOffset);
				if (nextOffset > fromOffset) {
					fromOffset = nextOffset;
					passed = 1;
				} else {
					passed++;
				}
				if (passed == numFilter || fromOffset >= endOffset)
					return fromOffset;
			}
		}
	}
private int skipToNextQualifiedBirthTuple ( int event , int fromOffset , int endOffset ) { int passed = 0 ; int nextOffset ; int numFilter = birthFilters . get ( event ) . entrySet ( ) . size ( ) ; if ( fromOffset >= endOffset || numFilter == 0 ) return fromOffset ; while ( true ) { for ( Map . Entry < String , FieldFilter > entry : birthFilters . get ( event ) . entrySet ( ) ) { nextOffset = entry . getValue ( ) . nextAcceptTuple ( fromOffset , endOffset ) ; if ( nextOffset > fromOffset ) { fromOffset = nextOffset ; passed = 1 ; } else { passed ++ ; } if ( passed == numFilter || fromOffset >= endOffset ) return fromOffset ; } } }
@brief find the next tuple where the given @param event is qualified with
        respect to the birth filter
@brief find the next tuple where the given @param event is qualified with respect to the birth filter