diff --git a/build.xml b/build.xml
index 09f359b..e46aed4 100644
--- a/build.xml
+++ b/build.xml
@@ -187,6 +187,7 @@
            source="${javac.source}" target="${javac.target}">
       <src path="${src.java.dir}"/>
       <classpath refid="libs-build-classpath"/>
+      <compilerarg value="-Xlint:cast"/> 
     </javac>
     <copy todir="${build.classes.dir}">
       <fileset dir="${src.java.dir}">
diff --git a/src/java/org/apache/fop/render/pdf/pdfbox/AbstractPDFBoxHandler.java b/src/java/org/apache/fop/render/pdf/pdfbox/AbstractPDFBoxHandler.java
index 04afd75..b9e1f0e 100644
--- a/src/java/org/apache/fop/render/pdf/pdfbox/AbstractPDFBoxHandler.java
+++ b/src/java/org/apache/fop/render/pdf/pdfbox/AbstractPDFBoxHandler.java
@@ -93,7 +93,7 @@
 
         Map<Object, Object> objectCache = getObjectCache(originalImageUri, userAgent);
 
-        PDPage page = (PDPage) pddoc.getDocumentCatalog().getPages().get(selectedPage);
+        PDPage page = pddoc.getDocumentCatalog().getPages().get(selectedPage);
 
         if (targetPage.getPDFResources().getParentResources() == null) {
             PDFResources res = pdfDoc.getFactory().makeResources();
diff --git a/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java b/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java
index 8d69afa..9a60d3e 100644
--- a/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java
+++ b/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java
@@ -392,7 +392,7 @@
             sourcePageResources.getCOSObject().setItem(COSName.FONT, fontsBackup);
         }
 
-        COSStream originalPageContents = (COSStream)pdStream.getCOSObject();
+        COSStream originalPageContents = pdStream.getCOSObject();
 
         bindOptionalContent(sourceDoc);
 
diff --git a/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxEventProducer.java b/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxEventProducer.java
index 9f23d6e..622d925 100644
--- a/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxEventProducer.java
+++ b/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxEventProducer.java
@@ -33,8 +33,7 @@
          * @return the event producer
          */
         public static PDFBoxEventProducer get(EventBroadcaster broadcaster) {
-            return (PDFBoxEventProducer) broadcaster.getEventProducerFor(
-                    PDFBoxEventProducer.class);
+            return broadcaster.getEventProducerFor(PDFBoxEventProducer.class);
         }
     }
 
diff --git a/src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java b/src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java
index ac35573..4724098 100644
--- a/src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java
+++ b/src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java
@@ -118,7 +118,7 @@
                     + ") does not exist in the PDF file. The document has "
                     + pddoc.getNumberOfPages() + " pages.");
         }
-        PDPage page = (PDPage)pddoc.getDocumentCatalog().getPages().get(selectedPage);
+        PDPage page = pddoc.getDocumentCatalog().getPages().get(selectedPage);
         PDRectangle mediaBox = page.getMediaBox();
         PDRectangle cropBox = page.getCropBox();
         PDRectangle viewBox = cropBox != null ? cropBox : mediaBox;
diff --git a/src/java/org/apache/fop/render/pdf/pdfbox/TaggedPDFConductor.java b/src/java/org/apache/fop/render/pdf/pdfbox/TaggedPDFConductor.java
index df3de7f..cd8e3df 100644
--- a/src/java/org/apache/fop/render/pdf/pdfbox/TaggedPDFConductor.java
+++ b/src/java/org/apache/fop/render/pdf/pdfbox/TaggedPDFConductor.java
@@ -53,7 +53,7 @@
     public void handleLogicalStructure(PDDocument srcDoc) throws IOException {
         if (isInputPDFTagged(srcDoc) && isStructureTreeRootNull(srcDoc)) {
             merger.setCurrentSessionElem();
-            COSDictionary strucRootDict = (COSDictionary)srcDoc.getDocumentCatalog().getStructureTreeRoot()
+            COSDictionary strucRootDict = srcDoc.getDocumentCatalog().getStructureTreeRoot()
                 .getCOSObject();
             rootMod.structTreeRootEntriesToCopy(strucRootDict);
             if (!isParentTreeIsPresent(strucRootDict)) {
