switch(readEntries.size()){
case 0:
throw new SetupException(String.format("Scan provided did not correspond to any available data.", scan));
case 1:
ScanROP scanner = new ScanROP(scan, readEntries.iterator().next(), engine);
scanner.init(registry, builder);
return;
default:
Union logOp = new Union(null, false);
ROP parentUnion = new UnionROP(logOp);
ScanROP[] scanners = new ScanROP[readEntries.size()];
int i = 0;
for (ReadEntry e : readEntries) {
scanners[i] = new ScanROP(scan, e, engine);
scanners[i].init(registry, builder);
i++;
}
parentUnion.init(registry, builder);