From 983ef6fd96f2070b0a434fbd4ac38ce09ed04223 Mon Sep 17 00:00:00 2001
From: Sergey Vladimirov <sergey@apache.org>
Date: Tue, 23 Aug 2011 09:07:30 +0000
Subject: [PATCH] update paragraph rebuilding for case when empty papx [n; n)
 happens at the end of file

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1160589 13f79535-47bb-0310-9956-ffa450edef68
---
 .../src/org/apache/poi/hwpf/model/PAPBinTable.java         | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/PAPBinTable.java b/src/scratchpad/src/org/apache/poi/hwpf/model/PAPBinTable.java
index 1f79d4001a..69c0c06196 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/PAPBinTable.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/PAPBinTable.java
@@ -208,10 +208,12 @@ public class PAPBinTable
             final int startInclusive = lastParStart;
             final int endExclusive = charIndex + 1;
 
+            boolean broken = false;
             List<PAPX> papxs = new LinkedList<PAPX>();
             for ( int papxIndex = lastPapxIndex; papxIndex < oldPapxSortedByEndPos
                     .size(); papxIndex++ )
             {
+                broken = false;
                 PAPX papx = oldPapxSortedByEndPos.get( papxIndex );
 
                 assert startInclusive == 0
@@ -221,11 +223,16 @@ public class PAPBinTable
                 if ( papx.getEnd() - 1 > charIndex )
                 {
                     lastPapxIndex = papxIndex;
+                    broken = true;
                     break;
                 }
 
                 papxs.add( papx );
             }
+            if ( !broken )
+            {
+                lastPapxIndex = oldPapxSortedByEndPos.size() - 1;
+            }
 
             if ( papxs.size() == 0 )
             {