public GroupedRandomAccessSource(ICollection<IRandomAccessSource> sources) {
this.sources = new SourceEntry[sources.Count];
long totalSize = 0;
int i = 0;
foreach (IRandomAccessSource ras in sources) {
this.sources[i] = new SourceEntry(i, ras, totalSize);
++i;
totalSize += ras.Length;
}
size = totalSize;
currentSourceEntry = this.sources[sources.Count-1];
SourceInUse(currentSourceEntry.source);
}