@Test
public void testGetDeclaredFields() throws Exception {

	Field[] fields = ReflectionUtil.getDeclaredFields(TestClass.class);
	for (Field field : fields) {
		Assert.assertTrue(field.isAccessible());
		int modifier = field.getModifiers();
		if (Modifier.isStatic(modifier)) {
			Assert.assertFalse(Modifier.isFinal(modifier));
		}
		String name = field.getName();
		if (name.equals("_privateStaticFinalObject")) {
			Assert.assertSame(
				TestClass._privateStaticFinalObject, field.get(null));
		}
		else if (name.equals("_privateStaticObject")) {
			Assert.assertSame(
				TestClass._privateStaticObject, field.get(null));
		}
	}
}