@Test
public void testMimicMethods_with_same_methods_with_after() throws Exception {

    // GIVEN
    src.addField(new CtField(CtClass.intType, "foo", src));
    src.addMethod(CtNewMethod.make("public void foo() { foo = 4; }", src));
    dst.addField(new CtField(CtClass.intType, "foo", dst));
    dst.addMethod(CtNewMethod.make("public void bar() { foo = 3; }", dst));
    dst.addMethod(CtNewMethod.make("public void foo() { foo = 2; bar(); }", dst));
    // WHEN
    MimicMethod mimicMethod = createMimicMethod(MimicMode.AFTER, "foo", "bar");
    mimicCreator.mimicMethods(src, dst, MimicMode.AFTER, new MimicMethod[] { mimicMethod });
    // THEN
    Class<?> dstClass = dst.toClass();
    assertHasFooField(dst);
    Object dstInstance = dstClass.newInstance();
    invokeFoo(dstInstance);
    assertHasFooField(dstInstance, 4);
}