test_class.file: beanmother-core/src/test/java/io/beanmother/core/util/TypeTokenUtilsTest.java
test_class.identifier: TypeTokenUtilsTest
test_case.body: @Test(expected = IllegalArgumentException.class)
      public void testRaiseException_extractElementTypeToken() {
          TypeTokenUtils.extractElementTypeToken(TypeToken.of(Integer.class));
      }
test_case.class_method_signature: TypeTokenUtilsTest.testRaiseException_extractElementTypeToken()
test_case.full_signature: @Test(expected = IllegalArgumentException.class) public void testRaiseException_extractElementTypeToken()
test_case.identifier: testRaiseException_extractElementTypeToken
test_case.invocations: extractElementTypeToken of
test_case.modifiers: @Test(expected = IllegalArgumentException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testRaiseException_extractElementTypeToken()
focal_class.file: beanmother-core/src/main/java/io/beanmother/core/util/TypeTokenUtils.java
focal_class.identifier: TypeTokenUtils
focal_class.class_method_signature: TypeTokenUtils.extractElementTypeToken(TypeToken<?> typeToken)
focal_class.full_signature: public static TypeToken<?> extractElementTypeToken(TypeToken<?> typeToken)
focal_class.identifier: extractElementTypeToken
focal_class.modifiers: public static
focal_class.parameters: (TypeToken<?> typeToken)
focal_class.return: TypeToken<?>
focal_class.signature: TypeToken<?> extractElementTypeToken(TypeToken<?> typeToken)
focal_class.class_method_signature: TypeTokenUtils.extractGenericTypeTokens(TypeToken<?> typeToken)
focal_class.full_signature: public static List<TypeToken<?>> extractGenericTypeTokens(TypeToken<?> typeToken)
focal_class.identifier: extractGenericTypeTokens
focal_class.modifiers: public static
focal_class.parameters: (TypeToken<?> typeToken)
focal_class.return: List<TypeToken<?>>
focal_class.signature: List<TypeToken<?>> extractGenericTypeTokens(TypeToken<?> typeToken)
focal_method.body: public static TypeToken<?> extractElementTypeToken(TypeToken<?> typeToken) {
          if (typeToken.isSubtypeOf(Collection.class)) {
              List<TypeToken<?>> genericTypeTokens = TypeTokenUtils.extractGenericTypeTokens(typeToken);
              if (genericTypeTokens.size() == 0) {
                  return TypeToken.of(Object.class);
              } else {
                  return genericTypeTokens.get(0);
              }
          } else if (typeToken.isArray()) {
              return typeToken.getComponentType();
          } else {
              throw new IllegalArgumentException("typeToken must be from List or array");
          }
      }
focal_method.class_method_signature: TypeTokenUtils.extractElementTypeToken(TypeToken<?> typeToken)
focal_method.full_signature: public static TypeToken<?> extractElementTypeToken(TypeToken<?> typeToken)
focal_method.identifier: extractElementTypeToken
focal_method.invocations: isSubtypeOf extractGenericTypeTokens size of get isArray getComponentType
focal_method.modifiers: public static
focal_method.parameters: (TypeToken<?> typeToken)
focal_method.return: TypeToken<?>
focal_method.signature: TypeToken<?> extractElementTypeToken(TypeToken<?> typeToken)