final int[] hash = new int[discardingTaggedRelationStorage.size()
+ discardingTupleStorage.size()];
final int[] addresses = new int[discardingTaggedRelationStorage.size()
+ discardingTupleStorage.size()];
final BitVector isTagged = new BitVector(discardingTaggedRelationStorage.size()
+ discardingTupleStorage.size());
isTagged.set(0, discardingTaggedRelationStorage.size());
TupleStorage.preProcess(discardingTaggedRelationStorage, discardingTupleStorage, hash,
addresses);
final int bounds[] = Discard.keep(hash, addresses, isTagged, discardingParts,
discardingIndex);
for (int i = bounds[0]; i <= bounds[1]; i++) {
final int address = addresses[i];
final boolean isTaggedTuple = isTagged.get(i);
String tupleString = "";
if (isTaggedTuple)
tupleString = discardingTaggedRelationStorage.get(address);
else
tupleString = discardingTupleStorage.get(address);