Cleanup in commons-rdf-rdf4j to close PMD and FindBugs warnings
diff --git a/.gitignore b/.gitignore
index fb23f11..de01404 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,4 @@
 .classpath
 .project
 *.orig
+.DS_Store
diff --git a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4J.java b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4J.java
index 491379d..b72464e 100644
--- a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4J.java
+++ b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4J.java
@@ -101,6 +101,7 @@
  * @see RDF
  *
  */
+@SuppressWarnings("PMD.UnnecessaryFullyQualifiedName") // we use fully-qualified names for clarity
 public final class RDF4J implements RDF {
 
     /**
diff --git a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JBlankNode.java b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JBlankNode.java
index de4d449..1ed29de 100644
--- a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JBlankNode.java
+++ b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JBlankNode.java
@@ -32,6 +32,6 @@
 public interface RDF4JBlankNode extends RDF4JBlankNodeOrIRI, BlankNode {
 
     @Override
-    public BNode asValue();
+    BNode asValue();
 
 }
diff --git a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JBlankNodeOrIRI.java b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JBlankNodeOrIRI.java
index 5141fdb..0eb4af0 100644
--- a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JBlankNodeOrIRI.java
+++ b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JBlankNodeOrIRI.java
@@ -32,6 +32,6 @@
 public interface RDF4JBlankNodeOrIRI extends RDF4JTerm, BlankNodeOrIRI {
 
     @Override
-    public Resource asValue();
+    Resource asValue();
 
 }
diff --git a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
index 8173fac..8085160 100644
--- a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
+++ b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JDataset.java
@@ -25,7 +25,6 @@
 import org.apache.commons.rdf.api.IRI;
 import org.apache.commons.rdf.api.Quad;
 import org.apache.commons.rdf.api.RDFTerm;
-import org.apache.commons.rdf.rdf4j.RDF4J.Option;
 
 /**
  * Marker interface for RDF4J implementations of Dataset.
diff --git a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
index f69432c..465af5d 100644
--- a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
+++ b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraph.java
@@ -28,7 +28,6 @@
 import org.apache.commons.rdf.api.Triple;
 import org.eclipse.rdf4j.model.Model;
 import org.eclipse.rdf4j.repository.Repository;
-import org.apache.commons.rdf.rdf4j.RDF4J.Option;
 
 /**
  * Marker interface for RDF4J implementations of Graph.
@@ -69,7 +68,7 @@
      * @return The context mask as a set of {@link BlankNodeOrIRI} graph names,
      *         which may contain the value <code>null</code>.
      */
-    public Set<RDF4JBlankNodeOrIRI> getContextMask();
+    Set<RDF4JBlankNodeOrIRI> getContextMask();
 
     /**
      * {@inheritDoc}
diff --git a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraphLike.java b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraphLike.java
index ef9fcba..0db74ae 100644
--- a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraphLike.java
+++ b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JGraphLike.java
@@ -49,7 +49,7 @@
      *
      * @return The corresponding RDF4J Model.
      */
-    public Optional<Model> asModel();
+    Optional<Model> asModel();
 
     /**
      * Return the corresponding RDF4J {@link Repository}, if present.
@@ -61,6 +61,6 @@
      *
      * @return The corresponding RDF4J Repository.
      */
-    public Optional<Repository> asRepository();
+    Optional<Repository> asRepository();
 
 }
diff --git a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JTerm.java b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JTerm.java
index 3863988..510a729 100644
--- a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JTerm.java
+++ b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JTerm.java
@@ -35,5 +35,5 @@
      * @return The wrapped {@link Value} (e.g. a {@link Literal}, {@link IRI} or
      *         {@link BNode}.
      */
-    public Value asValue();
+    Value asValue();
 }
diff --git a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JTripleLike.java b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JTripleLike.java
index 2c3d851..b662b52 100644
--- a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JTripleLike.java
+++ b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/RDF4JTripleLike.java
@@ -39,5 +39,5 @@
      *
      * @return The corresponding RDF4J Statement.
      */
-    public Statement asStatement();
+    Statement asStatement();
 }
diff --git a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/experimental/RDF4JParser.java b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/experimental/RDF4JParser.java
index a1d0ab5..648b89f 100644
--- a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/experimental/RDF4JParser.java
+++ b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/experimental/RDF4JParser.java
@@ -66,8 +66,7 @@
         }
 
         @Override
-        public void handleStatement(final org.eclipse.rdf4j.model.Statement st)
-                throws org.eclipse.rdf4j.rio.RDFHandlerException {
+        public void handleStatement(final org.eclipse.rdf4j.model.Statement st) throws RDFHandlerException {
             // TODO: if getRdfTermFactory() is a non-rdf4j factory, should
             // we use factory.createQuad() instead?
             // Unsure what is the promise of setting getRdfTermFactory() --
@@ -91,8 +90,7 @@
         }
 
         @Override
-        public void handleStatement(final org.eclipse.rdf4j.model.Statement st)
-                throws org.eclipse.rdf4j.rio.RDFHandlerException {
+        public void handleStatement(final org.eclipse.rdf4j.model.Statement st) throws RDFHandlerException {
             model.add(st);
         }
 
diff --git a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/InternalRDF4JFactory.java b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/InternalRDF4JFactory.java
index 991d02c..6bf685a 100644
--- a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/InternalRDF4JFactory.java
+++ b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/InternalRDF4JFactory.java
@@ -28,7 +28,6 @@
 import org.apache.commons.rdf.rdf4j.RDF4JQuad;
 import org.apache.commons.rdf.rdf4j.RDF4JTerm;
 import org.apache.commons.rdf.rdf4j.RDF4J;
-import org.apache.commons.rdf.rdf4j.RDF4J.Option;
 import org.apache.commons.rdf.rdf4j.RDF4JTriple;
 import org.eclipse.rdf4j.model.BNode;
 import org.eclipse.rdf4j.model.IRI;
diff --git a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/ModelGraphImpl.java b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/ModelGraphImpl.java
index 60429b0..683f42c 100644
--- a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/ModelGraphImpl.java
+++ b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/ModelGraphImpl.java
@@ -37,6 +37,7 @@
 import org.eclipse.rdf4j.model.Resource;
 import org.eclipse.rdf4j.repository.Repository;
 
+@SuppressWarnings("PMD.UnnecessaryFullyQualifiedName") // we use fully-qualified names for clarity
 final class ModelGraphImpl implements RDF4JGraph {
 
     private final Model model;
diff --git a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/RepositoryDatasetImpl.java b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/RepositoryDatasetImpl.java
index 6ce8b46..92fbf7e 100644
--- a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/RepositoryDatasetImpl.java
+++ b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/RepositoryDatasetImpl.java
@@ -170,7 +170,7 @@
             }
         }
         // Make sure the RepositoryConnection is closed
-        return stream.onClose(conn::close);
+        return stream == null ? null : stream.onClose(conn::close);
 
     }
 
diff --git a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/RepositoryGraphImpl.java b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/RepositoryGraphImpl.java
index f25dc26..ccfa579 100644
--- a/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/RepositoryGraphImpl.java
+++ b/commons-rdf-rdf4j/src/main/java/org/apache/commons/rdf/rdf4j/impl/RepositoryGraphImpl.java
@@ -173,7 +173,7 @@
             }
         }
         // Make sure the RepositoryConnection is closed
-        return stream.onClose(conn::close);
+        return stream == null ? null : stream.onClose(conn::close);
     }
 
     @Override