File rangemap = getRangeMap();
File rangelog = File.createTempFile("rangelog", ".txt", this.getTemporaryDir());
FileCollection srg = getSrgs();
FileCollection exc = getExcs();
InputSupplier inSup;
if (ins.size() == 0)
return; // no input.
else if (ins.size() == 1)
{
// just 1 supplier.
inSup = getInput(ins.get(0));
}
else
{
// multinput
inSup = new SequencedInputSupplier();
for (File f : ins)
((SequencedInputSupplier) inSup).add(getInput(f));
}
OutputSupplier outSup;
if (ins.size() == 1 && ins.get(0).equals(out) && ins instanceof FolderSupplier)
outSup = (OutputSupplier) inSup;
else
outSup = getOutput(out);
getLogger().lifecycle("remapping source...");
applyRangeMap(inSup, outSup, srg, exc, rangemap, rangelog);
inSup.close();
outSup.close();
}