@Test
public void testResolveTypeVariable04() throws Exception {

    // 前処理
    Method emptyListMethod = Collections.class.getMethod("emptyList",
            new Class[0]);
    TypeVariable<?> type = emptyListMethod.getTypeParameters()[0];
    List<ParameterizedType> list = getParameterizedClassList(List.class,
            GenericsUtil_ArrayListStub01.class);
    try {
        // テスト実施
        GenericsUtil.resolveTypeVariable(type, list);
        fail("例外が発生しませんでした。");
    } catch (IllegalStateException e) {
        // 判定
        assertEquals("TypeVariable(" + type.getName()
                + " is not declared at Class "
                + "(ie. is declared at Method or Constructor)", e
                        .getMessage());
        assertEquals(IllegalStateException.class.getName(), e.getClass()
                .getName());
    }
}