code: @Override public List<InputSplit> getSplits(JobContext job)
  		throws IOException
  	{
  		if (this.conf == null)
  			this.conf = job.getConfiguration();
  
  		final List<InputSplit> origSplits = super.getSplits(job);
  
  		// We have to partition the splits by input format and hand the BCF ones
  		// over to getBCFSplits().
  
  		final List<FileSplit>
  			bcfOrigSplits = new ArrayList<FileSplit>(origSplits.size());
  		final List<InputSplit>
  			newSplits     = new ArrayList<InputSplit>(origSplits.size());
  
  		for (final InputSplit iSplit : origSplits) {
  			final FileSplit split = (FileSplit)iSplit;
  
  			if (VCFFormat.BCF.equals(getFormat(split.getPath())))
  				bcfOrigSplits.add(split);
  			else
  				newSplits.add(split);
  		}
  		fixBCFSplits(bcfOrigSplits, newSplits);
  		return filterByInterval(newSplits, conf);
  	}
docs: Defers to {@link BCFSplitGuesser} as appropriate for each individual
  path. VCF paths do not require special handling, so their splits are left
  unchanged.