{
final List<PullDataSource> sourcesCast = new ArrayList<PullDataSource>();
for (DataSource source : sources)
sourcesCast.add((PullDataSource) source);
if (allCaptureDevice)
return new MergingCaptureDevicePullDataSource(sourcesCast);
else
return new MergingPullDataSource(sourcesCast);
}
else
{ throw new IncompatibleSourceException();