test_class.file: preon-el/src/test/java/org/codehaus/preon/el/util/ClassUtilsTest.java
test_class.identifier: ClassUtilsTest
test_case.body: @Test
      public void testCommonSuperType() {
          assertEquals(Number.class, ClassUtils.calculateCommonSuperType(Byte.class, Integer.class));
          assertEquals(Number.class, ClassUtils.calculateCommonSuperType(double.class, Integer.class));
          assertEquals(Integer.class, ClassUtils.calculateCommonSuperType(int.class, Integer.class));
          assertEquals(Object.class, ClassUtils.calculateCommonSuperType(Byte.class, String.class));
      }
test_case.class_method_signature: ClassUtilsTest.testCommonSuperType()
test_case.full_signature: @Test public void testCommonSuperType()
test_case.identifier: testCommonSuperType
test_case.invocations: assertEquals calculateCommonSuperType assertEquals calculateCommonSuperType assertEquals calculateCommonSuperType assertEquals calculateCommonSuperType
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCommonSuperType()
focal_class.file: preon-el/src/main/java/org/codehaus/preon/el/util/ClassUtils.java
focal_class.identifier: ClassUtils
focal_class.class_method_signature: ClassUtils.calculateCommonSuperType(Class<?>... types)
focal_class.full_signature: public static Class<?> calculateCommonSuperType(Class<?>... types)
focal_class.identifier: calculateCommonSuperType
focal_class.modifiers: public static
focal_class.parameters: (Class<?>... types)
focal_class.return: Class<?>
focal_class.signature: Class<?> calculateCommonSuperType(Class<?>... types)
focal_class.class_method_signature: ClassUtils.calculateCommonSuperType(Class<?> first,
              Class<?> second)
focal_class.full_signature: public static Class<?> calculateCommonSuperType(Class<?> first,
              Class<?> second)
focal_class.identifier: calculateCommonSuperType
focal_class.modifiers: public static
focal_class.parameters: (Class<?> first,
              Class<?> second)
focal_class.return: Class<?>
focal_class.signature: Class<?> calculateCommonSuperType(Class<?> first,
              Class<?> second)
focal_class.class_method_signature: ClassUtils.getBoxedType(Class<?> type)
focal_class.full_signature: private static Class<?> getBoxedType(Class<?> type)
focal_class.identifier: getBoxedType
focal_class.modifiers: private static
focal_class.parameters: (Class<?> type)
focal_class.return: Class<?>
focal_class.signature: Class<?> getBoxedType(Class<?> type)
focal_class.class_method_signature: ClassUtils.getGuaranteedBoxedVersion(Class<?> type)
focal_class.full_signature: public static Class<?> getGuaranteedBoxedVersion(Class<?> type)
focal_class.identifier: getGuaranteedBoxedVersion
focal_class.modifiers: public static
focal_class.parameters: (Class<?> type)
focal_class.return: Class<?>
focal_class.signature: Class<?> getGuaranteedBoxedVersion(Class<?> type)
focal_method.body: public static Class<?> calculateCommonSuperType(Class<?>... types) {
          switch (types.length) {
              case 0:
                  return null;
              case 1:
                  return types[0];
              case 2:
                  return calculateCommonSuperType(types[0], types[1]);
              default: {
                  Class<?> common = types[0];
                  for (int i = 1; i < types.length; i++) {
                      if (common == java.lang.Object.class) {
                          break;
                      }
                      common = calculateCommonSuperType(common, types[i]);
                  }
                  return common;
              }
          }
      }
focal_method.class_method_signature: ClassUtils.calculateCommonSuperType(Class<?>... types)
focal_method.full_signature: public static Class<?> calculateCommonSuperType(Class<?>... types)
focal_method.identifier: calculateCommonSuperType
focal_method.invocations: calculateCommonSuperType calculateCommonSuperType
focal_method.modifiers: public static
focal_method.parameters: (Class<?>... types)
focal_method.return: Class<?>
focal_method.signature: Class<?> calculateCommonSuperType(Class<?>... types)