private void addLineChunk(int end1, int end2, boolean hasEqualWords) {
    if (last1 > end1 || last2 > end2) return;

    PendingChunk chunk = createChunk(last1, last2, end1, end2, hasEqualWords);
    if (chunk.block.offsets.isEmpty()) return;

    if (pendingChunk != null && shouldMergeChunks(pendingChunk, chunk)) {
      pendingChunk = mergeChunks(pendingChunk, chunk);
    }
    else {
      if (pendingChunk != null) myResult.add(pendingChunk.block);
      pendingChunk = chunk;
    }

    last1 = end1;
    last2 = end2;
  }
private void addLineChunk(int end1, int end2, boolean hasEqualWords)