@Test
public void testGetMethodDeepInheritance() {

	try {
		ReflectionEngine engine = new ReflectionEngine();
		MethodInvoker mInvoker;
		TestEngine2 tEngine2 = new TestEngine2();
		mInvoker = engine.getMethod(tEngine2, "method3", new Object[] { tEngine2 });
		assertArrayEquals(mInvoker.getMethod().getParameterTypes(), new Class[] { TestInterface.class });
		TestEngine3 tEngine3 = new TestEngine3();
		mInvoker = engine.getMethod(tEngine3, "method3", new Object[] { tEngine3 });
		assertArrayEquals(mInvoker.getMethod().getParameterTypes(), new Class[] { TestInterface.class });
	} catch (Exception e) {
		e.printStackTrace();
		fail();
	}
}