@Test
public void testRecursiveGenericClass() {

    final B2TypeResolver resolveWithRecursiveGenericClass = new B2TypeResolver(
            RecursiveClass.class,
            new Type[]{String.class});
    final Type resolvedField0 = resolveWithRecursiveGenericClass.resolveType(
            RecursiveClass.class.getDeclaredFields()[0]);
    assertEquals(String.class, resolvedField0);
    final Type resolvedField1 = resolveWithRecursiveGenericClass.resolveType(
            RecursiveClass.class.getDeclaredFields()[1]);
    assertEquals(
            new B2TypeResolver.ResolvedParameterizedType(
                    RecursiveClass.class,
                    new Type[]{String.class}
            ), resolvedField1);
}