Add support for non-final static fields

Change-Id: I612dd1aaca0d267e57aaff6a1577d9b164f4379c
diff --git a/utils/junit/src/main/java/org/onlab/junit/TestUtils.java b/utils/junit/src/main/java/org/onlab/junit/TestUtils.java
index d9bdeb2..7b16d65 100644
--- a/utils/junit/src/main/java/org/onlab/junit/TestUtils.java
+++ b/utils/junit/src/main/java/org/onlab/junit/TestUtils.java
@@ -40,7 +40,13 @@
     public static <T, U> void setField(T subject, String fieldName, U value)
             throws TestUtilsException {
         @SuppressWarnings("unchecked")
-        Class clazz = subject.getClass();
+        Class clazz;
+        if (subject instanceof Class) {
+            // Class was given, assuming intention is to deal with static field
+            clazz = (Class) subject;
+        } else {
+            clazz = subject.getClass();
+        }
         try {
             while (clazz != null) {
                 try {
@@ -77,7 +83,13 @@
         try {
             NoSuchFieldException exception = null;
             @SuppressWarnings("unchecked")
-            Class clazz = subject.getClass();
+            Class clazz;
+            if (subject instanceof Class) {
+                // Class was given, assuming intention is to deal with static field
+                clazz = (Class) subject;
+            } else {
+                clazz = subject.getClass();
+            }
             while (clazz != null) {
                 try {
                     Field field = clazz.getDeclaredField(fieldName);