diff --git a/src/java/htsjdk/samtools/AbstractBAMFileIndex.java b/src/java/htsjdk/samtools/AbstractBAMFileIndex.java index 17b139ab98..3bb9068913 100644 --- a/src/java/htsjdk/samtools/AbstractBAMFileIndex.java +++ b/src/java/htsjdk/samtools/AbstractBAMFileIndex.java @@ -37,6 +37,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.BitSet; +import java.util.Collections; import java.util.List; /** @@ -275,10 +276,11 @@ protected BAMIndexContent query(final int referenceSequence, final int startPos, for (int binNumber = 0; binNumber < binCount; binNumber++) { final int indexBin = readInteger(); final int nChunks = readInteger(); - final List chunks = new ArrayList(nChunks); + List chunks = null; // System.out.println("# bin[" + i + "] = " + indexBin + ", nChunks = " + nChunks); Chunk lastChunk = null; if (regionBins.get(indexBin)) { + chunks = new ArrayList(nChunks); for (int ci = 0; ci < nChunks; ci++) { final long chunkBegin = readLong(); final long chunkEnd = readLong(); @@ -298,6 +300,7 @@ protected BAMIndexContent query(final int referenceSequence, final int startPos, continue; // don't create a Bin } else { skipBytes(16 * nChunks); + chunks = Collections.emptyList(); } final Bin bin = new Bin(referenceSequence, indexBin); bin.setChunkList(chunks);