/** * Create index entries for a single container. * @param c the container to index */ public void processContainer(final Container c) { // TODO: this should be refactored and delegate to container/slice if (!c.isEOF()) { for (int i = 0; i < c.slices.length; i++) { Slice s = c.slices[i]; if (s.sequenceId == Slice.MULTI_REFERENCE) { this.entries.addAll(getCRAIEntriesForMultiRefSlice(s, c.header, c.offset, c.landmarks)); } else { CRAIEntry e = new CRAIEntry(); e.sequenceId = c.sequenceId; e.alignmentStart = s.alignmentStart; e.alignmentSpan = s.alignmentSpan; e.containerStartOffset = c.offset; e.sliceOffset = c.landmarks[i]; e.sliceSize = s.size; e.sliceIndex = i; entries.add(e); } } } }