o Removed unused imports
o Using static method in a static way
o Closed a InputStream
o Removed a useless private constructor
o Added generics
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/AccessMgrImpl.java b/src/main/java/org/apache/directory/fortress/core/impl/AccessMgrImpl.java
index 0d79785..4c618e7 100755
--- a/src/main/java/org/apache/directory/fortress/core/impl/AccessMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/AccessMgrImpl.java
@@ -89,8 +89,8 @@
         throws SecurityException
     {
         String methodName = "authenticate";
-        VUtil.getInstance().assertNotNullOrEmpty( userId, GlobalErrIds.USER_ID_NULL, getFullMethodName( CLS_NM, methodName ) );
-        VUtil.getInstance().assertNotNullOrEmpty( password, GlobalErrIds.USER_PW_NULL, getFullMethodName( CLS_NM, methodName ) );
+        VUtil.assertNotNullOrEmpty( userId, GlobalErrIds.USER_ID_NULL, getFullMethodName( CLS_NM, methodName ) );
+        VUtil.assertNotNullOrEmpty( password, GlobalErrIds.USER_PW_NULL, getFullMethodName( CLS_NM, methodName ) );
         User inUser = new User( userId );
         inUser.setContextId( contextId );
 
@@ -153,9 +153,9 @@
         assertContext( CLS_NM, methodName, perm, GlobalErrIds.PERM_NULL );
         assertContext( CLS_NM, methodName, session, GlobalErrIds.USER_SESS_NULL );
         
-        VUtil.getInstance().assertNotNullOrEmpty( perm.getOpName(), GlobalErrIds.PERM_OPERATION_NULL,
+        VUtil.assertNotNullOrEmpty( perm.getOpName(), GlobalErrIds.PERM_OPERATION_NULL,
             getFullMethodName( CLS_NM, methodName ) );
-        VUtil.getInstance().assertNotNullOrEmpty( perm.getObjName(), GlobalErrIds.PERM_OBJECT_NULL,
+        VUtil.assertNotNullOrEmpty( perm.getObjName(), GlobalErrIds.PERM_OBJECT_NULL,
             getFullMethodName( CLS_NM, methodName ) );
         VUtil.getInstance().validateConstraints( session, VUtil.ConstraintType.USER, false );
         VUtil.getInstance().validateConstraints( session, VUtil.ConstraintType.ROLE, false );
@@ -185,7 +185,7 @@
     {
         String methodName = "isUserInRole";
         assertContext( CLS_NM, methodName, role, GlobalErrIds.ROLE_NULL );
-        VUtil.getInstance().assertNotNullOrEmpty( role.getName(), GlobalErrIds.ROLE_NM_NULL,
+        VUtil.assertNotNullOrEmpty( role.getName(), GlobalErrIds.ROLE_NM_NULL,
             getFullMethodName( CLS_NM, methodName ) );
         boolean result = false;
         Session session = createSession( user, isTrusted );
@@ -246,11 +246,11 @@
         assertContext( CLS_NM, methodName, session, GlobalErrIds.USER_SESS_NULL );
         if (session.isGroupSession())
         {
-            VUtil.getInstance().assertNotNull(session.getGroup(), GlobalErrIds.GROUP_NULL, CLS_NM + ".authorizedRoles");
+            VUtil.assertNotNull(session.getGroup(), GlobalErrIds.GROUP_NULL, CLS_NM + ".authorizedRoles");
         }
         else
         {
-            VUtil.getInstance().assertNotNull(session.getUser(), GlobalErrIds.USER_NULL, CLS_NM + ".authorizedRoles");
+            VUtil.assertNotNull(session.getUser(), GlobalErrIds.USER_NULL, CLS_NM + ".authorizedRoles");
         }
         VUtil.getInstance().validateConstraints( session, VUtil.ConstraintType.USER, false );
         VUtil.getInstance().validateConstraints( session, VUtil.ConstraintType.ROLE, false );
@@ -346,8 +346,7 @@
         }
         role.setUserId(entityId);
         List<UserRole> activatedRoles = session.getRoles();
-        VUtil.getInstance()
-            .assertNotNull( activatedRoles, GlobalErrIds.URLE_DEACTIVE_FAILED, CLS_NM + getFullMethodName( CLS_NM, methodName ) );
+        VUtil.assertNotNull( activatedRoles, GlobalErrIds.URLE_DEACTIVE_FAILED, CLS_NM + getFullMethodName( CLS_NM, methodName ) );
         int indx = activatedRoles.indexOf( role );
         if ( indx != -1 )
         {
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/PropertyMgrImpl.java b/src/main/java/org/apache/directory/fortress/core/impl/PropertyMgrImpl.java
index 9e096ea..21d0a15 100644
--- a/src/main/java/org/apache/directory/fortress/core/impl/PropertyMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/PropertyMgrImpl.java
@@ -24,7 +24,6 @@
 
 import org.apache.directory.fortress.core.GlobalErrIds;
 import org.apache.directory.fortress.core.PropertyMgr;
-import org.apache.directory.fortress.core.ReviewMgr;
 import org.apache.directory.fortress.core.SecurityException;
 import org.apache.directory.fortress.core.model.AdminRole;
 import org.apache.directory.fortress.core.model.FortEntity;
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/RoleUtil.java b/src/main/java/org/apache/directory/fortress/core/impl/RoleUtil.java
index 7711f0d..1c3cdc8 100755
--- a/src/main/java/org/apache/directory/fortress/core/impl/RoleUtil.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/RoleUtil.java
@@ -86,7 +86,8 @@
         return sINSTANCE;
     }
     
-    private RoleUtil(){
+    private RoleUtil()
+    {
         init();
     }
     
@@ -102,13 +103,6 @@
         roleCache = cacheMgr.getCache( "fortress.roles" );
     }
 
-    /**
-     * Private constructor
-     *
-     */
-    private void RoleUtil()
-    {
-    }
 
     /**
      * Used to determine if one {@link org.apache.directory.fortress.core.model.Role} is the parent of another.  This method
diff --git a/src/main/java/org/apache/directory/fortress/core/ldap/LdapDataProvider.java b/src/main/java/org/apache/directory/fortress/core/ldap/LdapDataProvider.java
index 270a37a..1c0cf42 100644
--- a/src/main/java/org/apache/directory/fortress/core/ldap/LdapDataProvider.java
+++ b/src/main/java/org/apache/directory/fortress/core/ldap/LdapDataProvider.java
@@ -1334,7 +1334,7 @@
      * Closes all the ldap connection pools.
      */
     public static void closeAllConnectionPools(){
-        LdapConnectionProvider.getInstance().closeAllConnectionPools();
+        LdapConnectionProvider.closeAllConnectionPools();
     }
 
 }
\ No newline at end of file
diff --git a/src/main/java/org/apache/directory/fortress/core/model/Address.java b/src/main/java/org/apache/directory/fortress/core/model/Address.java
index 8d43257..20676b3 100644
--- a/src/main/java/org/apache/directory/fortress/core/model/Address.java
+++ b/src/main/java/org/apache/directory/fortress/core/model/Address.java
@@ -26,7 +26,6 @@
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
diff --git a/src/main/java/org/apache/directory/fortress/core/model/UserRole.java b/src/main/java/org/apache/directory/fortress/core/model/UserRole.java
index 248f210..d9e2156 100755
--- a/src/main/java/org/apache/directory/fortress/core/model/UserRole.java
+++ b/src/main/java/org/apache/directory/fortress/core/model/UserRole.java
@@ -698,7 +698,7 @@
     {
         if(roleConstraints == null)
         {
-            roleConstraints = new ArrayList();
+            roleConstraints = new ArrayList<>();
         }
         return roleConstraints;
     }
diff --git a/src/main/java/org/apache/directory/fortress/core/util/ResourceUtil.java b/src/main/java/org/apache/directory/fortress/core/util/ResourceUtil.java
index d8f1e33..076d9d5 100644
--- a/src/main/java/org/apache/directory/fortress/core/util/ResourceUtil.java
+++ b/src/main/java/org/apache/directory/fortress/core/util/ResourceUtil.java
@@ -98,20 +98,27 @@
             } else if (url.getProtocol().equals("jar")){
                 result = ResourceUtil.class.getClassLoader().getResourceAsStream(_reference);
                 if (null != result) {
-                    PushbackInputStream pushbackInputStream = new PushbackInputStream(result);
-                    int b = -1;
-                    try {
-                        b = pushbackInputStream.read();
-                    } catch (IOException e) {
-                        // Don't care
-                    }
-                    if (b != -1) {
-                        result = pushbackInputStream;
+                    try ( PushbackInputStream pushbackInputStream = new PushbackInputStream(result) )
+                    {
+                        int b = -1;
                         try {
-                            pushbackInputStream.unread(b);
+                            b = pushbackInputStream.read();
                         } catch (IOException e) {
-                            result = null;
+                            // Don't care
                         }
+                        if (b != -1) {
+                            result = pushbackInputStream;
+                            try {
+                                pushbackInputStream.unread(b);
+                            } catch (IOException e) {
+                                result = null;
+                            }
+                        }
+                    }
+                    catch ( IOException ioe )
+                    {
+                        // Problem while closing the input stream... Nothing we can do
+                        ioe.printStackTrace();
                     }
                 }
             }
diff --git a/src/main/java/org/apache/directory/fortress/core/util/VUtil.java b/src/main/java/org/apache/directory/fortress/core/util/VUtil.java
index 47f2fd7..f550bda 100755
--- a/src/main/java/org/apache/directory/fortress/core/util/VUtil.java
+++ b/src/main/java/org/apache/directory/fortress/core/util/VUtil.java
@@ -38,6 +38,7 @@
 import org.apache.directory.fortress.core.model.Constraint;
 import org.apache.directory.fortress.core.model.Group;
 import org.apache.directory.fortress.core.model.ObjectFactory;
+import org.apache.directory.fortress.core.model.RoleConstraint;
 import org.apache.directory.fortress.core.model.Session;
 import org.apache.directory.fortress.core.model.UserRole;
 import org.apache.directory.fortress.core.model.Warning;
@@ -803,7 +804,7 @@
         }
 
         @Override
-        public List getConstraints()
+        public List<RoleConstraint> getConstraints()
         {
             throw new java.lang.UnsupportedOperationException();
         }
diff --git a/src/main/java/org/apache/directory/fortress/core/util/time/Discriminant.java b/src/main/java/org/apache/directory/fortress/core/util/time/Discriminant.java
index 638c008..cb6e0f6 100644
--- a/src/main/java/org/apache/directory/fortress/core/util/time/Discriminant.java
+++ b/src/main/java/org/apache/directory/fortress/core/util/time/Discriminant.java
@@ -29,7 +29,6 @@
 import java.util.HashSet;
 import java.util.Set;
 import java.util.StringTokenizer;
-import java.util.TreeSet;
 
 /**
  * Do not use, is deprecated for {@link org.apache.directory.fortress.core.util.time.UserRoleConstraint}.
@@ -87,7 +86,7 @@
         return rc;
     }
 
-    public Set getValues( String members )
+    public Set<String> getValues( String members )
     {
         Set<String> values = new HashSet<>(  );
         if ( members != null )