if (outputConstraints.cardinality() > 0) { // there's one or more output constraints; generate corresponding input constraints
for (Iterator<Tuple> it = outputConstraints.iterator(); it.hasNext(); ) {
Tuple outputConstraint = it.next();
Tuple inputConst = GenerateMatchingTuple(outputConstraint, filterCond);
ExampleTuple inputConstraint = new ExampleTuple();
inputConstraint.copyFrom(inputConst);
if (inputConstraint != null) inputConstraints.add(inputConstraint);
}
} else if (outputData.cardinality() == 0) { // no output constraints, but output is empty; generate one input that will pass the filter
Tuple inputConst = GenerateMatchingTuple(inputSchema, filterCond);
ExampleTuple inputConstraint = new ExampleTuple();