Removed a Cast

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_RoundedCorners@1401202 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/test/java/org/apache/fop/render/intermediate/BorderPainterTestCase.java b/test/java/org/apache/fop/render/intermediate/BorderPainterTestCase.java
index fab6e0f..ab5c18c 100644
--- a/test/java/org/apache/fop/render/intermediate/BorderPainterTestCase.java
+++ b/test/java/org/apache/fop/render/intermediate/BorderPainterTestCase.java
@@ -154,8 +154,6 @@
 
         protected final BorderPainter sut;
 
-        private final T thisInstance;
-
         private final BorderPropsBuilder<T> beforeBuilder;
 
         private final BorderPropsBuilder<T> afterBuilder;
@@ -165,19 +163,20 @@
         private final BorderPropsBuilder<T> endBuilder;
 
         public BorderPainterTester(int xOrigin, int yOrigin, int width, int height) {
-            this.thisInstance = (T) this;
             if (width <= 0 || height <= 0) {
                 throw new IllegalArgumentException("Cannot test degenerate borders");
             }
-            beforeBuilder = new BorderPropsBuilder<T>(this.thisInstance);
-            afterBuilder = new BorderPropsBuilder<T>(this.thisInstance);
-            startBuilder = new BorderPropsBuilder<T>(this.thisInstance);
-            endBuilder = new BorderPropsBuilder<T>(this.thisInstance);
+            beforeBuilder = new BorderPropsBuilder<T>(getThis());
+            afterBuilder = new BorderPropsBuilder<T>(getThis());
+            startBuilder = new BorderPropsBuilder<T>(getThis());
+            endBuilder = new BorderPropsBuilder<T>(getThis());
             this.borderExtent = new Rectangle(xOrigin, yOrigin, width, height);
             this.graphicsPainter = mock(GraphicsPainter.class);
             this.sut = new BorderPainter(graphicsPainter);
         }
 
+        protected abstract T getThis();
+
         public BorderPropsBuilder<T> beforeBorder() {
             return beforeBuilder;
         }
@@ -199,7 +198,7 @@
             endBuilder.setWidth(width);
             afterBuilder.setWidth(width);
             startBuilder.setWidth(width);
-            return thisInstance;
+            return getThis();
         }
 
         public T setCornerRadii(int radius) {
@@ -211,31 +210,31 @@
             setEndBefore(xRadius, yRadius);
             setEndAfter(xRadius, yRadius);
             setStartAfter(xRadius, yRadius);
-            return thisInstance;
+            return getThis();
         }
 
         public T setStartBefore(int xRadius, int yRadius) {
             startBuilder.setRadiusStart(xRadius);
             beforeBuilder.setRadiusStart(yRadius);
-            return thisInstance;
+            return getThis();
         }
 
         public T setEndBefore(int xRadius, int yRadius) {
             endBuilder.setRadiusStart(xRadius);
             beforeBuilder.setRadiusEnd(yRadius);
-            return thisInstance;
+            return getThis();
         }
 
         public T setEndAfter(int xRadius, int yRadius) {
             endBuilder.setRadiusEnd(xRadius);
             afterBuilder.setRadiusEnd(yRadius);
-            return thisInstance;
+            return getThis();
         }
 
         public T setStartAfter(int xRadius, int yRadius) {
             startBuilder.setRadiusEnd(xRadius);
             afterBuilder.setRadiusStart(yRadius);
-            return thisInstance;
+            return getThis();
         }
 
         public final void test() throws IOException {
@@ -383,7 +382,11 @@
             verify(graphicsPainter, times(numBorders)).closePath();
             verify(graphicsPainter, times(numBorders)).restoreGraphicsState();
             verify(graphicsPainter, times(numBorders)).clip();
+        }
 
+        @Override
+        protected DrawRectangularBordersTester getThis() {
+            return this;
         }
     }
 
@@ -462,6 +465,11 @@
             return yWidth > yRadius ? yWidth : xWidth > 0 ? Math.max(xRadius, xWidth) : 0;
         }
 
+        @Override
+        protected DrawRoundedBordersTester getThis() {
+            return this;
+        }
+
     }
 
     private static final class ClipBackgroundTester extends BorderPainterTester<ClipBackgroundTester> {
@@ -559,6 +567,11 @@
                 }
             }
         }
+
+        @Override
+        protected ClipBackgroundTester getThis() {
+            return this;
+        }
     }