public boolean match(int matches) {

		if (type == EXACT) {
			return matches == min;
		} else if (type == NONE) { 
			return matches == 0;
		} else if (type == ANY) {
			return matches > 0;
		} else if (type == RANGE) {
			
			if (min < 0) {
				return matches <= max;
			} else if (max < 0) {
				return matches >= min;
			} else {
				return matches <= max && matches >= min;
			}
		}
		return false;
	}