added test to exercise ClassLoaderObjectInputStream::resolveProxyClass with multiple interfaces
diff --git a/src/test/java/org/apache/commons/io/input/ClassLoaderObjectInputStreamTest.java b/src/test/java/org/apache/commons/io/input/ClassLoaderObjectInputStreamTest.java
index 8730bff..d48d57a 100644
--- a/src/test/java/org/apache/commons/io/input/ClassLoaderObjectInputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/input/ClassLoaderObjectInputStreamTest.java
@@ -20,6 +20,7 @@
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
 
 /**
  * Tests the CountingInputStream.
@@ -183,4 +184,24 @@
         clois.close();
     }
 
+    @org.junit.Test
+    public void testResolveProxyClassWithMultipleInterfaces() throws Exception {
+
+        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        final ObjectOutputStream oos = new ObjectOutputStream(baos);
+        oos.writeObject(Boolean.FALSE);
+        final InputStream bais = new ByteArrayInputStream(baos.toByteArray());
+
+        final ClassLoaderObjectInputStream clois =
+                new ClassLoaderObjectInputStream(getClass().getClassLoader(), bais);
+        final String[] interfaces = new String[]{Comparable.class.getName(),
+                                                 Serializable.class.getName(),
+                                                 Runnable.class.getName()};
+        final Class<?> result = clois.resolveProxyClass(interfaces);
+        assertTrue("Assignable", Comparable.class.isAssignableFrom(result));
+        assertTrue("Assignable", Runnable.class.isAssignableFrom(result));
+        assertTrue("Assignable", Serializable.class.isAssignableFrom(result));
+        assertFalse("Not Assignable", Flushable.class.isAssignableFrom(result));
+        clois.close();
+    }
 }