You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlgraphics.apache.org by ss...@apache.org on 2024/06/26 08:53:03 UTC

(xmlgraphics-fop) branch main updated: Add generics to layout

This is an automated email from the ASF dual-hosted git repository.

ssteiner pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/xmlgraphics-fop.git


The following commit(s) were added to refs/heads/main by this push:
     new 3d750f328 Add generics to layout
3d750f328 is described below

commit 3d750f3289559f3896a61ab694d7f1a4481d720b
Author: Simon Steiner <ss...@apache.org>
AuthorDate: Wed Jun 26 09:51:53 2024 +0100

    Add generics to layout
---
 .../org/apache/fop/layoutmgr/AbstractBaseLayoutManager.java  |  2 +-
 .../main/java/org/apache/fop/layoutmgr/AbstractBreaker.java  |  8 ++++----
 .../java/org/apache/fop/layoutmgr/AbstractLayoutManager.java |  2 +-
 .../fop/layoutmgr/BalancingColumnBreakingAlgorithm.java      |  6 +++---
 .../java/org/apache/fop/layoutmgr/BlockKnuthSequence.java    |  2 +-
 .../java/org/apache/fop/layoutmgr/BreakingAlgorithm.java     |  4 ++--
 .../org/apache/fop/layoutmgr/FootnoteBodyLayoutManager.java  |  4 ++--
 .../java/org/apache/fop/layoutmgr/InlineKnuthSequence.java   |  4 ++--
 .../main/java/org/apache/fop/layoutmgr/KnuthSequence.java    |  8 ++++----
 .../main/java/org/apache/fop/layoutmgr/LayoutManager.java    |  4 ++--
 .../src/main/java/org/apache/fop/layoutmgr/LocalBreaker.java |  4 ++--
 .../src/main/java/org/apache/fop/layoutmgr/PageBreaker.java  | 12 ++++++------
 .../fop/layoutmgr/RetrieveTableMarkerLayoutManager.java      |  2 +-
 .../org/apache/fop/layoutmgr/StaticContentLayoutManager.java |  2 +-
 .../fop/layoutmgr/inline/AbstractGraphicsLayoutManager.java  |  5 +++--
 .../apache/fop/layoutmgr/inline/CharacterLayoutManager.java  |  4 ++--
 .../apache/fop/layoutmgr/inline/ContentLayoutManager.java    |  9 +++++----
 .../org/apache/fop/layoutmgr/inline/FloatLayoutManager.java  |  8 ++++----
 .../apache/fop/layoutmgr/inline/FootnoteLayoutManager.java   |  2 +-
 .../fop/layoutmgr/inline/InlineContainerLayoutManager.java   |  2 +-
 .../org/apache/fop/layoutmgr/inline/InlineLayoutManager.java |  2 +-
 .../fop/layoutmgr/inline/InlineLevelLayoutManager.java       |  3 ++-
 .../fop/layoutmgr/inline/InlineStackingLayoutManager.java    |  5 +++--
 .../org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java |  5 +++--
 .../apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java   |  9 +++++----
 .../org/apache/fop/layoutmgr/inline/LineLayoutManager.java   |  8 ++++----
 .../org/apache/fop/layoutmgr/inline/TextLayoutManager.java   |  3 ++-
 .../apache/fop/layoutmgr/inline/WrapperLayoutManager.java    |  5 +++--
 .../org/apache/fop/layoutmgr/list/ListItemLayoutManager.java |  6 +++---
 .../apache/fop/layoutmgr/table/RowGroupLayoutManager.java    |  5 +++--
 .../apache/fop/layoutmgr/table/TableCellLayoutManager.java   |  5 +++--
 .../fop/layoutmgr/table/TableContentLayoutManager.java       |  8 ++++----
 .../org/apache/fop/layoutmgr/table/TableLayoutManager.java   |  4 ++--
 33 files changed, 86 insertions(+), 76 deletions(-)

diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBaseLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBaseLayoutManager.java
index a84a243b0..a3edc2088 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBaseLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBaseLayoutManager.java
@@ -284,7 +284,7 @@ public abstract class AbstractBaseLayoutManager
     }
 
     /** {@inheritDoc} */
-    public List getNextKnuthElements(LayoutContext context, int alignment, Stack lmStack,
+    public List<ListElement> getNextKnuthElements(LayoutContext context, int alignment, Stack lmStack,
             Position positionAtIPDChange, LayoutManager restartAtLM) {
         throw new UnsupportedOperationException("Not implemented");
     }
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java
index 40b518af3..3fc3951fc 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractBreaker.java
@@ -288,7 +288,7 @@ public abstract class AbstractBreaker {
      * @param alignment the desired text alignment
      * @return          the list of KnuthElements
      */
-    protected abstract List<KnuthElement> getNextKnuthElements(LayoutContext context,
+    protected abstract List<ListElement> getNextKnuthElements(LayoutContext context,
                                                                int alignment);
 
     /**
@@ -302,7 +302,7 @@ public abstract class AbstractBreaker {
      * change occurs between two LMs
      * @return          the list of KnuthElements
      */
-    protected List<KnuthElement> getNextKnuthElements(LayoutContext context, int alignment,
+    protected List<ListElement> getNextKnuthElements(LayoutContext context, int alignment,
             Position positionAtIPDChange, LayoutManager restartAtLM) {
         throw new UnsupportedOperationException("TODO: implement acceptable fallback");
     }
@@ -673,13 +673,13 @@ public abstract class AbstractBreaker {
      */
     protected int getNextBlockList(LayoutContext childLC, int nextSequenceStartsOn,
             Position positionAtIPDChange, LayoutManager restartAtLM,
-            List<KnuthElement> firstElements) {
+            List<ListElement> firstElements) {
         updateLayoutContext(childLC);
         //Make sure the span change signal is reset
         childLC.signalSpanChange(Constants.NOT_SET);
 
         BlockSequence blockList;
-        List<KnuthElement> returnedList;
+        List<ListElement> returnedList;
         if (firstElements == null) {
             returnedList = getNextKnuthElements(childLC, alignment);
         } else if (positionAtIPDChange == null) {
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
index 0060c4b11..f7f269df1 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
@@ -170,7 +170,7 @@ public abstract class AbstractLayoutManager extends AbstractBaseLayoutManager im
     }
 
     /** {@inheritDoc} */
-    public List getChangedKnuthElements(List oldList, int alignment) {
+    public List<ListElement> getChangedKnuthElements(List<ListElement> oldList, int alignment) {
         log.warn("null implementation of getChangeKnuthElement() called!");
         return null;
     }
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm.java
index 06c3c538d..375153f98 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm.java
@@ -140,7 +140,7 @@ public class BalancingColumnBreakingAlgorithm extends PageBreakingAlgorithm {
         boolean prevIsBox = false;
         int colNumber = 1;
         for (int i = startIndex; i < par.size(); i++) {
-            KnuthElement element = (KnuthElement) par.get(i);
+            KnuthElement element = par.get(i);
             if (isLegalBreak(i, prevIsBox)) {
                 int breakLength = totalLength
                         + (element instanceof KnuthPenalty ? element.getWidth() : 0);
@@ -225,7 +225,7 @@ public class BalancingColumnBreakingAlgorithm extends PageBreakingAlgorithm {
     }
 
     private boolean isLegalBreak(int index, boolean prevIsBox) {
-        KnuthElement element = (KnuthElement) par.get(index);
+        KnuthElement element = par.get(index);
         return element instanceof KnuthPenalty && element.getPenalty() < KnuthPenalty.INFINITE
                 || prevIsBox && element instanceof KnuthGlue;
     }
@@ -235,7 +235,7 @@ public class BalancingColumnBreakingAlgorithm extends PageBreakingAlgorithm {
     }
 
     private int getPenaltyWidth(int index) {
-        KnuthElement element = (KnuthElement) par.get(index);
+        KnuthElement element = par.get(index);
         return element instanceof KnuthPenalty ? element.getWidth() : 0;
     }
 
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/BlockKnuthSequence.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/BlockKnuthSequence.java
index 83c1ae585..030fe4a44 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/BlockKnuthSequence.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/BlockKnuthSequence.java
@@ -42,7 +42,7 @@ public class BlockKnuthSequence extends KnuthSequence {
      * Creates a new list from an existing list.
      * @param list The list from which to create the new list.
      */
-    public BlockKnuthSequence(List list) {
+    public BlockKnuthSequence(List<KnuthSequence> list) {
         super(list);
     }
 
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java
index 08c27404d..260d32ac8 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/BreakingAlgorithm.java
@@ -113,7 +113,7 @@ public abstract class BreakingAlgorithm {
     /**
      * The paragraph of KnuthElements.
      */
-    protected KnuthSequence par;
+    protected KnuthSequence<KnuthElement> par;
 
     /**
      * The width of a line (or height of a column in page-breaking mode).
@@ -1313,7 +1313,7 @@ public abstract class BreakingAlgorithm {
      * @return the element at index idx in the paragraph.
      */
     protected KnuthElement getElement(int idx) {
-        return (KnuthElement) par.get(idx);
+        return par.get(idx);
     }
 
     /**
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/FootnoteBodyLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/FootnoteBodyLayoutManager.java
index e20826ca3..ccb318203 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/FootnoteBodyLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/FootnoteBodyLayoutManager.java
@@ -30,7 +30,7 @@ import org.apache.fop.fo.flow.FootnoteBody;
  */
 public class FootnoteBodyLayoutManager extends BlockStackingLayoutManager {
 
-    private List<KnuthElement> knuthElements;
+    private List<ListElement> knuthElements;
 
     /**
      * Creates a new FootnoteBodyLayoutManager.
@@ -41,7 +41,7 @@ public class FootnoteBodyLayoutManager extends BlockStackingLayoutManager {
     }
 
     @Override
-    public List<KnuthElement> getNextKnuthElements(LayoutContext context, int alignment) {
+    public List getNextKnuthElements(LayoutContext context, int alignment) {
         if (knuthElements == null) {
             knuthElements = super.getNextKnuthElements(context, alignment);
         }
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/InlineKnuthSequence.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/InlineKnuthSequence.java
index 1b38b9d8f..5e0bd37eb 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/InlineKnuthSequence.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/InlineKnuthSequence.java
@@ -30,7 +30,7 @@ import org.apache.fop.layoutmgr.inline.KnuthInlineBox;
  * Represents a list of inline Knuth elements.
  * If closed, it represents all elements of a Knuth paragraph.
  */
-public class InlineKnuthSequence extends KnuthSequence  {
+public class InlineKnuthSequence<T extends ListElement> extends KnuthSequence  {
 
     private static final long serialVersionUID = 1354774188859946549L;
 
@@ -47,7 +47,7 @@ public class InlineKnuthSequence extends KnuthSequence  {
      * Creates a new list from an existing list.
      * @param list The list from which to create the new list.
      */
-    public InlineKnuthSequence(List list) {
+    public InlineKnuthSequence(List<T> list) {
         super(list);
     }
 
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/KnuthSequence.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/KnuthSequence.java
index cd37f0d3a..ce85b686c 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/KnuthSequence.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/KnuthSequence.java
@@ -29,7 +29,7 @@ import org.apache.fop.util.ListUtil;
 /**
  * Represents a list of {@link KnuthElement Knuth elements}.
  */
-public abstract class KnuthSequence extends ArrayList {
+public abstract class KnuthSequence<T extends ListElement> extends ArrayList<T> {
 
     //TODO: do not extend ArrayList
 
@@ -44,7 +44,7 @@ public abstract class KnuthSequence extends ArrayList {
      * Creates a new list from an existing list.
      * @param list The list from which to create the new list.
      */
-    public KnuthSequence(List list) {
+    public KnuthSequence(List<T> list) {
         super(list);
     }
 
@@ -157,7 +157,7 @@ public abstract class KnuthSequence extends ArrayList {
     public ListElement getElement(int index) {
         return (index >= size() || index < 0)
                 ? null
-                : (ListElement) get(index);
+                : get(index);
     }
 
     /**
@@ -175,7 +175,7 @@ public abstract class KnuthSequence extends ArrayList {
         } else {
             int boxIndex = startIndex;
             @SuppressWarnings("unchecked")
-            Iterator<ListElement> iter = listIterator(startIndex);
+            Iterator<T> iter = listIterator(startIndex);
             while (iter.hasNext() && !iter.next().isBox()) {
                 boxIndex++;
             }
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/LayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/LayoutManager.java
index 97449762b..3adaceebc 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/LayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/LayoutManager.java
@@ -175,7 +175,7 @@ public interface LayoutManager extends PercentBaseContext {
      * @param alignment      the desired text alignment
      * @return               the updated list of KnuthElements
      */
-    List getChangedKnuthElements(List oldList, int alignment);
+    List<ListElement> getChangedKnuthElements(List<ListElement> oldList, int alignment);
 
     /**
      * Whether the FO handled by this layout manager has a descendant (including itself)
@@ -269,7 +269,7 @@ public interface LayoutManager extends PercentBaseContext {
      * a paragraph
      * @return an updated list of elements, taking the new IPD into account
      */
-    List getNextKnuthElements(LayoutContext context, int alignment, Stack lmStack,
+    List<ListElement> getNextKnuthElements(LayoutContext context, int alignment, Stack lmStack,
             Position positionAtIPDChange, LayoutManager restartAtLM);
 
     boolean isFromFootnote();
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/LocalBreaker.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/LocalBreaker.java
index f5882f119..41a7b3813 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/LocalBreaker.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/LocalBreaker.java
@@ -90,9 +90,9 @@ public abstract class LocalBreaker extends AbstractBreaker {
         return lc;
     }
 
-    protected List getNextKnuthElements(LayoutContext context, int alignment) {
+    protected List<ListElement> getNextKnuthElements(LayoutContext context, int alignment) {
         LayoutManager curLM; // currently active LM
-        List returnList = new LinkedList();
+        List<ListElement> returnList = new LinkedList<>();
 
         while ((curLM = lm.getChildLM()) != null) {
             LayoutContext childLC = LayoutContext.newInstance();
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java
index cd9b7f363..3f246adfb 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java
@@ -201,9 +201,9 @@ public class PageBreaker extends AbstractBreaker {
         return containsFootnotes;
     }
 
-    public static  List<List<KnuthElement>> getFootnoteKnuthElements(FlowLayoutManager flowLM, LayoutContext context,
+    public static List<List<KnuthElement>> getFootnoteKnuthElements(FlowLayoutManager flowLM, LayoutContext context,
             List<FootnoteBodyLayoutManager> footnoteBodyLMs) {
-        List<List<KnuthElement>> footnotes = new ArrayList<List<KnuthElement>>();
+        List<List<KnuthElement>> footnotes = new ArrayList<>();
         LayoutContext footnoteContext = LayoutContext.copyOf(context);
         footnoteContext.setStackLimitBP(context.getStackLimitBP());
         footnoteContext.setRefIPD(flowLM.getPSLM()
@@ -245,8 +245,8 @@ public class PageBreaker extends AbstractBreaker {
     }
 
     /** {@inheritDoc} */
-    protected List getNextKnuthElements(LayoutContext context, int alignment) {
-        List contentList = null;
+    protected List<ListElement> getNextKnuthElements(LayoutContext context, int alignment) {
+        List<ListElement> contentList = null;
 
         while (!childFLM.isFinished() && contentList == null) {
             contentList = childFLM.getNextKnuthElements(context, alignment);
@@ -262,9 +262,9 @@ public class PageBreaker extends AbstractBreaker {
     }
 
     /** {@inheritDoc} */
-    protected List getNextKnuthElements(LayoutContext context, int alignment,
+    protected List<ListElement> getNextKnuthElements(LayoutContext context, int alignment,
             Position positionAtIPDChange, LayoutManager restartAtLM) {
-        List contentList = null;
+        List<ListElement> contentList = null;
 
         do {
             contentList = childFLM.getNextKnuthElements(context, alignment, positionAtIPDChange,
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/RetrieveTableMarkerLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/RetrieveTableMarkerLayoutManager.java
index 9d0979a29..c644d7f82 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/RetrieveTableMarkerLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/RetrieveTableMarkerLayoutManager.java
@@ -39,7 +39,7 @@ public class RetrieveTableMarkerLayoutManager extends LeafNodeLayoutManager {
     }
 
     /** {@inheritDoc} */
-    public List getNextKnuthElements(LayoutContext context, int alignment) {
+    public List<KnuthSequence> getNextKnuthElements(LayoutContext context, int alignment) {
         setFinished(true);
         FONode foNode = (FONode) getFObj();
         foNode = getTableLayoutManager().resolveRetrieveTableMarker((RetrieveTableMarker) foNode);
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/StaticContentLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/StaticContentLayoutManager.java
index 83fa63151..20b337fe9 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/StaticContentLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/StaticContentLayoutManager.java
@@ -72,7 +72,7 @@ public class StaticContentLayoutManager extends BlockStackingLayoutManager {
     }
 
     /** {@inheritDoc} */
-    public List getNextKnuthElements(LayoutContext context, int alignment) {
+    public List<ListElement> getNextKnuthElements(LayoutContext context, int alignment) {
         throw new IllegalStateException();
     }
 
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/AbstractGraphicsLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/AbstractGraphicsLayoutManager.java
index 8afec46e1..51e1a1c74 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/AbstractGraphicsLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/AbstractGraphicsLayoutManager.java
@@ -30,6 +30,7 @@ import org.apache.fop.datatypes.LengthBase;
 import org.apache.fop.fo.FObj;
 import org.apache.fop.fo.flow.AbstractGraphics;
 import org.apache.fop.fo.properties.CommonBorderPaddingBackground;
+import org.apache.fop.layoutmgr.KnuthSequence;
 import org.apache.fop.layoutmgr.LayoutContext;
 import org.apache.fop.layoutmgr.TraitSetter;
 
@@ -111,8 +112,8 @@ public abstract class AbstractGraphicsLayoutManager extends LeafNodeLayoutManage
     }
 
     /** {@inheritDoc} */
-    public List getNextKnuthElements(LayoutContext context,
-                                           int alignment) {
+    public List<KnuthSequence> getNextKnuthElements(LayoutContext context,
+                                                    int alignment) {
         InlineViewport areaCurrent = getInlineArea();
         setCurrentArea(areaCurrent);
         return super.getNextKnuthElements(context, alignment);
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java
index 3f68df0e2..1ba50e992 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java
@@ -111,7 +111,7 @@ public class CharacterLayoutManager extends LeafNodeLayoutManager {
     }
 
     /** {@inheritDoc} */
-    public List getNextKnuthElements(LayoutContext context, int alignment) {
+    public List<KnuthSequence> getNextKnuthElements(LayoutContext context, int alignment) {
         Character fobj = (Character) this.fobj;
 
         // TODO: may need some special handling for fo:character
@@ -152,7 +152,7 @@ public class CharacterLayoutManager extends LeafNodeLayoutManager {
 
         addKnuthElementsForBorderPaddingEnd(seq);
 
-        LinkedList<KnuthSequence> returnList = new LinkedList<KnuthSequence>();
+        LinkedList<KnuthSequence> returnList = new LinkedList<>();
         returnList.add(seq);
         setFinished(true);
         return returnList;
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/ContentLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/ContentLayoutManager.java
index a5f128f85..0b419217c 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/ContentLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/ContentLayoutManager.java
@@ -38,6 +38,7 @@ import org.apache.fop.layoutmgr.KnuthPossPosIter;
 import org.apache.fop.layoutmgr.KnuthSequence;
 import org.apache.fop.layoutmgr.LayoutContext;
 import org.apache.fop.layoutmgr.LayoutManager;
+import org.apache.fop.layoutmgr.ListElement;
 import org.apache.fop.layoutmgr.PageSequenceLayoutManager;
 import org.apache.fop.layoutmgr.Position;
 import org.apache.fop.layoutmgr.PositionIterator;
@@ -129,8 +130,8 @@ public class ContentLayoutManager extends AbstractBaseLayoutManager
 
         stackSize = 0;
 
-        List contentList = getNextKnuthElements(childLC, Constants.EN_START);
-        for (Object aContentList : contentList) {
+        List<ListElement> contentList = getNextKnuthElements(childLC, Constants.EN_START);
+        for (ListElement aContentList : contentList) {
             KnuthElement element = (KnuthElement) aContentList;
             if (element instanceof KnuthInlineBox) {
                 KnuthInlineBox box = (KnuthInlineBox) element;
@@ -315,12 +316,12 @@ public class ContentLayoutManager extends AbstractBaseLayoutManager
     }
 
     /** {@inheritDoc} */
-    public List getChangedKnuthElements(List oldList, int alignment) {
+    public List<ListElement> getChangedKnuthElements(List<ListElement> oldList, int alignment) {
         return null;
     }
 
     /** {@inheritDoc} */
-    public List getChangedKnuthElements(List oldList, int alignment, int depth) {
+    public List<ListElement> getChangedKnuthElements(List<ListElement> oldList, int alignment, int depth) {
         return getChangedKnuthElements(oldList, alignment);
     }
 
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/FloatLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/FloatLayoutManager.java
index fe63791bf..eb5cb8d8c 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/FloatLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/FloatLayoutManager.java
@@ -25,11 +25,11 @@ import java.util.List;
 import org.apache.fop.fo.flow.Float;
 import org.apache.fop.layoutmgr.FloatContentLayoutManager;
 import org.apache.fop.layoutmgr.InlineKnuthSequence;
-import org.apache.fop.layoutmgr.KnuthElement;
 import org.apache.fop.layoutmgr.KnuthPossPosIter;
 import org.apache.fop.layoutmgr.KnuthSequence;
 import org.apache.fop.layoutmgr.LayoutContext;
 import org.apache.fop.layoutmgr.LayoutManager;
+import org.apache.fop.layoutmgr.ListElement;
 import org.apache.fop.layoutmgr.Position;
 import org.apache.fop.layoutmgr.PositionIterator;
 import org.apache.fop.layoutmgr.SpaceResolver;
@@ -38,7 +38,7 @@ public class FloatLayoutManager extends InlineStackingLayoutManager {
 
     private FloatContentLayoutManager floatContentLM;
     private KnuthInlineBox anchor;
-    private List<KnuthElement> floatContentKnuthElements;
+    private List<ListElement> floatContentKnuthElements;
     private Float floatContent;
     private boolean floatContentAreaAdded;
 
@@ -51,7 +51,7 @@ public class FloatLayoutManager extends InlineStackingLayoutManager {
         return null;
     }
 
-    public LinkedList getNextKnuthElements(LayoutContext context, int alignment) {
+    public LinkedList<KnuthSequence> getNextKnuthElements(LayoutContext context, int alignment) {
 
         if (!floatContentAreaAdded && !floatContent.isDisabled()) {
             floatContentLM = new FloatContentLayoutManager(floatContent);
@@ -62,7 +62,7 @@ public class FloatLayoutManager extends InlineStackingLayoutManager {
         }
 
         // the only knuth element is a zero width and height knuth box
-        LinkedList knuthElements = new LinkedList();
+        LinkedList<KnuthSequence> knuthElements = new LinkedList<>();
         KnuthSequence seq = new InlineKnuthSequence();
         anchor = new KnuthInlineBox(0, null, null, true);
         if (!floatContentAreaAdded) {
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/FootnoteLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/FootnoteLayoutManager.java
index 06e742434..1fd29eb59 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/FootnoteLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/FootnoteLayoutManager.java
@@ -86,7 +86,7 @@ public class FootnoteLayoutManager extends InlineStackingLayoutManager {
         bodyLM.initialize();
 
         // get Knuth elements representing the footnote citation
-        List returnedList = new LinkedList();
+        List<KnuthSequence> returnedList = new LinkedList<>();
         while (!citationLM.isFinished()) {
             List partialList = citationLM.getNextKnuthElements(context, alignment);
             if (partialList != null) {
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java
index 54237a914..e589ab0b9 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineContainerLayoutManager.java
@@ -319,7 +319,7 @@ public class InlineContainerLayoutManager extends AbstractLayoutManager implemen
         return false;
     }
 
-    public List getChangedKnuthElements(List oldList, int alignment, int depth) {
+    public List<ListElement> getChangedKnuthElements(List<ListElement> oldList, int alignment, int depth) {
         return oldList;
     }
 
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
index 52418d816..08a85a931 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
@@ -259,7 +259,7 @@ public class InlineLayoutManager extends InlineStackingLayoutManager {
 
     /** {@inheritDoc} */
     @Override
-    public List getNextKnuthElements(
+    public List<KnuthSequence> getNextKnuthElements(
         LayoutContext context, int alignment) {
         LayoutManager curLM;
 
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineLevelLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineLevelLayoutManager.java
index ac829a2fc..addad2b92 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineLevelLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineLevelLayoutManager.java
@@ -22,6 +22,7 @@ package org.apache.fop.layoutmgr.inline;
 import java.util.List;
 
 import org.apache.fop.layoutmgr.LayoutManager;
+import org.apache.fop.layoutmgr.ListElement;
 import org.apache.fop.layoutmgr.Position;
 
 /**
@@ -91,6 +92,6 @@ List addALetterSpaceTo(List oldList, int depth);
      * @param depth the depth at which the Positions for this LM in oldList are found
      * @return               the updated list of KnuthElements
      **/
-    List getChangedKnuthElements(List oldList, int alignment, int depth);
+    List<ListElement> getChangedKnuthElements(List<ListElement> oldList, int alignment, int depth);
 
 }
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java
index a0acd1cd3..d0ee9104b 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java
@@ -32,6 +32,7 @@ import org.apache.fop.layoutmgr.BreakOpportunity;
 import org.apache.fop.layoutmgr.BreakOpportunityHelper;
 import org.apache.fop.layoutmgr.KnuthElement;
 import org.apache.fop.layoutmgr.LayoutContext;
+import org.apache.fop.layoutmgr.ListElement;
 import org.apache.fop.layoutmgr.NonLeafPosition;
 import org.apache.fop.layoutmgr.Position;
 import org.apache.fop.traits.MinOptMax;
@@ -320,12 +321,12 @@ public abstract class InlineStackingLayoutManager extends AbstractLayoutManager
     /**
      * {@inheritDoc}
      */
-    public List getChangedKnuthElements(List oldList, int alignment) {
+    public List<ListElement> getChangedKnuthElements(List<ListElement> oldList, int alignment) {
         return getChangedKnuthElements(oldList, alignment, 0);
     }
 
     /** {@inheritDoc} */
-    public List getChangedKnuthElements(List oldList, int alignment, int depth) {
+    public List<ListElement> getChangedKnuthElements(List<ListElement> oldList, int alignment, int depth) {
         // "unwrap" the Positions stored in the elements
         ListIterator oldListIterator = oldList.listIterator();
         KnuthElement oldElement;
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java
index a6d695b06..0ccea3840 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java
@@ -41,6 +41,7 @@ import org.apache.fop.layoutmgr.KnuthPossPosIter;
 import org.apache.fop.layoutmgr.KnuthSequence;
 import org.apache.fop.layoutmgr.LayoutContext;
 import org.apache.fop.layoutmgr.LeafPosition;
+import org.apache.fop.layoutmgr.ListElement;
 import org.apache.fop.layoutmgr.Position;
 import org.apache.fop.layoutmgr.PositionIterator;
 import org.apache.fop.layoutmgr.TraitSetter;
@@ -256,7 +257,7 @@ public class LeaderLayoutManager extends LeafNodeLayoutManager {
     }
 
     /** {@inheritDoc} */
-    public List getNextKnuthElements(LayoutContext context, int alignment) {
+    public List<KnuthSequence> getNextKnuthElements(LayoutContext context, int alignment) {
         MinOptMax ipd;
         curArea = get(context);
         KnuthSequence seq = new InlineKnuthSequence();
@@ -319,7 +320,7 @@ public class LeaderLayoutManager extends LeafNodeLayoutManager {
     }
 
     /** {@inheritDoc} */
-    public List getChangedKnuthElements(List oldList, int alignment) {
+    public List<ListElement> getChangedKnuthElements(List<ListElement> oldList, int alignment) {
         if (isFinished()) {
             return null;
         }
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java
index ae337b0d0..04c6fd72c 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java
@@ -37,6 +37,7 @@ import org.apache.fop.layoutmgr.KnuthPenalty;
 import org.apache.fop.layoutmgr.KnuthSequence;
 import org.apache.fop.layoutmgr.LayoutContext;
 import org.apache.fop.layoutmgr.LeafPosition;
+import org.apache.fop.layoutmgr.ListElement;
 import org.apache.fop.layoutmgr.Position;
 import org.apache.fop.layoutmgr.PositionIterator;
 import org.apache.fop.layoutmgr.TraitSetter;
@@ -261,7 +262,7 @@ public abstract class LeafNodeLayoutManager extends AbstractLayoutManager
 
     /** {@inheritDoc} */
     @Override
-    public List getNextKnuthElements(LayoutContext context, int alignment) {
+    public List<KnuthSequence> getNextKnuthElements(LayoutContext context, int alignment) {
         curArea = get(context);
 
         alignmentContext = makeAlignmentContext(context);
@@ -327,18 +328,18 @@ public abstract class LeafNodeLayoutManager extends AbstractLayoutManager
      * {@inheritDoc}
      * No subclass has a meaningful implementation of this method
      */
-    public List getChangedKnuthElements(List oldList, int alignment, int depth) {
+    public List<ListElement> getChangedKnuthElements(List<ListElement> oldList, int alignment, int depth) {
         return getChangedKnuthElements(oldList, alignment);
     }
 
     /** {@inheritDoc} */
     @Override
-    public List getChangedKnuthElements(List oldList, int alignment) {
+    public List<ListElement> getChangedKnuthElements(List<ListElement> oldList, int alignment) {
         if (isFinished()) {
             return null;
         }
 
-        LinkedList returnList = new LinkedList();
+        LinkedList<ListElement> returnList = new LinkedList<>();
 
         addKnuthElementsForBorderPaddingStart(returnList);
 
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java
index 60d05b581..9ba707e3c 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java
@@ -607,7 +607,7 @@ public class LineLayoutManager extends InlineStackingLayoutManager
 
     /** {@inheritDoc} */
     @Override
-    public List getNextKnuthElements(LayoutContext context, int alignment) {
+    public List<ListElement> getNextKnuthElements(LayoutContext context, int alignment) {
         if (alignmentContext == null) {
             FontInfo fi = fobj.getFOEventHandler().getFontInfo();
             FontTriplet[] fontkeys = fobj.getCommonFont().getFontState(fi);
@@ -933,7 +933,7 @@ public class LineLayoutManager extends InlineStackingLayoutManager
      */
     private List<ListElement> postProcessLineBreaks(int alignment, LayoutContext context) {
 
-        List<ListElement> returnList = new LinkedList<ListElement>();
+        List<ListElement> returnList = new LinkedList<>();
 
         int endIndex = -1;
         for (int p = 0; p < knuthParagraphs.size(); p++) {
@@ -1366,7 +1366,7 @@ public class LineLayoutManager extends InlineStackingLayoutManager
         processUpdates(currPar, updateList);
     }
 
-    private void processUpdates(Paragraph par, List updateList) {
+    private void processUpdates(Paragraph par, List<ListElement> updateList) {
         // create iterator for the updateList
         ListIterator updateListIterator = updateList.listIterator();
         Update currUpdate;
@@ -1394,7 +1394,7 @@ public class LineLayoutManager extends InlineStackingLayoutManager
                 .applyChanges(par.subList(fromIndex + elementsAdded,
                                               toIndex + elementsAdded))) {
                 // insert the new KnuthElements
-                List newElements = currUpdate.inlineLM.getChangedKnuthElements(
+                List<ListElement> newElements = currUpdate.inlineLM.getChangedKnuthElements(
                     par.subList(fromIndex + elementsAdded,
                                      toIndex + elementsAdded),
                      /*flaggedPenalty,*/ effectiveAlignment);
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java
index e524b87ac..aab2dd56c 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java
@@ -45,6 +45,7 @@ import org.apache.fop.layoutmgr.KnuthPenalty;
 import org.apache.fop.layoutmgr.KnuthSequence;
 import org.apache.fop.layoutmgr.LayoutContext;
 import org.apache.fop.layoutmgr.LeafPosition;
+import org.apache.fop.layoutmgr.ListElement;
 import org.apache.fop.layoutmgr.Position;
 import org.apache.fop.layoutmgr.PositionIterator;
 import org.apache.fop.layoutmgr.TraitSetter;
@@ -1189,7 +1190,7 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
     }
 
     /** {@inheritDoc} */
-    public List getChangedKnuthElements(final List oldList, final int alignment) {
+    public List<ListElement> getChangedKnuthElements(final List<ListElement> oldList, final int alignment) {
         if (isFinished()) {
             return null;
         }
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/WrapperLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/WrapperLayoutManager.java
index c6a2b05b2..0dcba3efe 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/WrapperLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/inline/WrapperLayoutManager.java
@@ -27,6 +27,7 @@ import org.apache.fop.area.inline.InlineArea;
 import org.apache.fop.fo.flow.Wrapper;
 import org.apache.fop.layoutmgr.BlockLayoutManager;
 import org.apache.fop.layoutmgr.BlockStackingLayoutManager;
+import org.apache.fop.layoutmgr.KnuthSequence;
 import org.apache.fop.layoutmgr.LayoutContext;
 import org.apache.fop.layoutmgr.PositionIterator;
 import org.apache.fop.layoutmgr.TraitSetter;
@@ -90,8 +91,8 @@ public class WrapperLayoutManager extends LeafNodeLayoutManager {
         getPSLM().addIDToPage(fobj.getId());
     }
 
-    public List getNextKnuthElements(LayoutContext context, int alignment) {
-        List list = super.getNextKnuthElements(context, alignment);
+    public List<KnuthSequence> getNextKnuthElements(LayoutContext context, int alignment) {
+        List<KnuthSequence> list = super.getNextKnuthElements(context, alignment);
         if (parentLayoutManager instanceof LineLayoutManager && !fobj.hasId() && fobj.hasChildren()) {
             return Collections.emptyList();
         }
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java
index 9473db66c..807d79b0e 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java
@@ -636,11 +636,11 @@ public class ListItemLayoutManager extends SpacedBorderedPaddedBlockLayoutManage
             }
         }
 
-        List returnedList = body.getChangedKnuthElements(oldList, alignment);
+        List<ListElement> returnedList = body.getChangedKnuthElements(oldList, alignment);
         // "wrap" the Position inside each element
-        List tempList = returnedList;
+        List<ListElement> tempList = returnedList;
         KnuthElement tempElement;
-        returnedList = new LinkedList();
+        returnedList = new LinkedList<>();
         for (Object aTempList : tempList) {
             tempElement = (KnuthElement) aTempList;
             tempElement.setPosition(new NonLeafPosition(this, tempElement.getPosition()));
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/table/RowGroupLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/table/RowGroupLayoutManager.java
index 3b263b09f..6fce25c66 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/table/RowGroupLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/table/RowGroupLayoutManager.java
@@ -36,6 +36,7 @@ import org.apache.fop.fo.properties.CommonBorderPaddingBackground;
 import org.apache.fop.fo.properties.LengthRangeProperty;
 import org.apache.fop.layoutmgr.ElementListObserver;
 import org.apache.fop.layoutmgr.LayoutContext;
+import org.apache.fop.layoutmgr.ListElement;
 import org.apache.fop.traits.MinOptMax;
 import org.apache.fop.util.BreakUtil;
 
@@ -58,8 +59,8 @@ class RowGroupLayoutManager {
         this.tableStepper = tableStepper;
     }
 
-    public LinkedList getNextKnuthElements(LayoutContext context, int alignment, int bodyType) {
-        LinkedList returnList = new LinkedList();
+    public LinkedList<ListElement> getNextKnuthElements(LayoutContext context, int alignment, int bodyType) {
+        LinkedList<ListElement> returnList = new LinkedList<>();
         createElementsForRowGroup(context, alignment, bodyType, returnList);
 
         context.updateKeepWithPreviousPending(rowGroup[0].getKeepWithPrevious());
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableCellLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableCellLayoutManager.java
index cba4c2fae..b62e066d8 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableCellLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableCellLayoutManager.java
@@ -54,6 +54,7 @@ import org.apache.fop.layoutmgr.KnuthGlue;
 import org.apache.fop.layoutmgr.KnuthPenalty;
 import org.apache.fop.layoutmgr.LayoutContext;
 import org.apache.fop.layoutmgr.LayoutManager;
+import org.apache.fop.layoutmgr.ListElement;
 import org.apache.fop.layoutmgr.LocalBreaker;
 import org.apache.fop.layoutmgr.Position;
 import org.apache.fop.layoutmgr.PositionIterator;
@@ -168,7 +169,7 @@ public class TableCellLayoutManager extends BlockStackingLayoutManager {
     /**
      * {@inheritDoc}
      */
-    public List getNextKnuthElements(LayoutContext context, int alignment) {
+    public List<ListElement> getNextKnuthElements(LayoutContext context, int alignment) {
         MinOptMax stackLimit = context.getStackLimitBP();
 
         referenceIPD = context.getRefIPD();
@@ -177,7 +178,7 @@ public class TableCellLayoutManager extends BlockStackingLayoutManager {
 
         List returnedList;
         List contentList = new LinkedList();
-        List returnList = new LinkedList();
+        List<ListElement> returnList = new LinkedList<>();
 
         LayoutManager curLM; // currently active LM
         LayoutManager prevLM = null; // previously active LM
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableContentLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableContentLayoutManager.java
index a887215f6..e656b505c 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableContentLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableContentLayoutManager.java
@@ -152,7 +152,7 @@ public class TableContentLayoutManager implements PercentBaseContext {
         KnuthBox headerAsFirst = null;
         KnuthBox headerAsSecondToLast = null;
         KnuthBox footerAsLast = null;
-        LinkedList returnList = new LinkedList();
+        LinkedList<ListElement> returnList = new LinkedList<>();
         int headerFootnoteBPD = 0;
         if (headerIter != null && headerList == null) {
             this.headerList = getKnuthElementsForRowIterator(
@@ -213,20 +213,20 @@ public class TableContentLayoutManager implements PercentBaseContext {
                 bodyIter, context, alignment, TableRowIterator.BODY));
         if (headerAsFirst != null) {
             int insertionPoint = 0;
-            if (returnList.size() > 0 && ((ListElement)returnList.getFirst()).isForcedBreak()) {
+            if (returnList.size() > 0 && returnList.getFirst().isForcedBreak()) {
                 insertionPoint++;
             }
             returnList.add(insertionPoint, headerAsFirst);
         } else if (headerAsSecondToLast != null) {
             int insertionPoint = returnList.size();
-            if (returnList.size() > 0 && ((ListElement)returnList.getLast()).isForcedBreak()) {
+            if (returnList.size() > 0 && returnList.getLast().isForcedBreak()) {
                 insertionPoint--;
             }
             returnList.add(insertionPoint, headerAsSecondToLast);
         }
         if (footerAsLast != null) {
             int insertionPoint = returnList.size();
-            if (returnList.size() > 0 && ((ListElement)returnList.getLast()).isForcedBreak()) {
+            if (returnList.size() > 0 && returnList.getLast().isForcedBreak()) {
                 insertionPoint--;
             }
             returnList.add(insertionPoint, footerAsLast);
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java
index 182f3e8f7..91390dbcd 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java
@@ -203,9 +203,9 @@ public class TableLayoutManager extends SpacedBorderedPaddedBlockLayoutManager
     }
 
     /** {@inheritDoc} */
-    public List getNextKnuthElements(LayoutContext context, int alignment) {
+    public List<ListElement> getNextKnuthElements(LayoutContext context, int alignment) {
 
-        List returnList = new LinkedList();
+        List<ListElement> returnList = new LinkedList<>();
 
         /*
          * Compute the IPD and adjust it if necessary (overconstrained)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: commits-help@xmlgraphics.apache.org