@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);
	}
@ Override public List < InputSplit > getSplits ( JobContext job ) throws IOException { if ( this . conf == null ) this . conf = job . getConfiguration ( ) ; final List < InputSplit > origSplits = super . getSplits ( job ) ; 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 ) ; }
Defers to {@link BCFSplitGuesser} as appropriate for each individual
path. VCF paths do not require special handling, so their splits are left
unchanged.