public static bool isImplementingInterface(Class aClass, Class interfaceClass) { if (!ConfigurationManagerUtils.assertionsDisabled && !interfaceClass.isInterface()) { throw new AssertionError(); } Class superclass = aClass.getSuperclass(); if (superclass != null && ConfigurationManagerUtils.isImplementingInterface(superclass, interfaceClass)) { return(true); } Class[] interfaces = aClass.getInterfaces(); int num = interfaces.Length; for (int i = 0; i < num; i++) { Class @class = interfaces[i]; if (Object.instancehelper_equals(@class, interfaceClass) || ConfigurationManagerUtils.isImplementingInterface(@class, interfaceClass)) { return(true); } } return(false); }