### Question:
ModelInterceptor { public static Model findById(@Origin Method method, @Argument(0) Serializable id) throws Throwable { return invoke(method, new Class[] {Class.class, Serializable.class}, new Object[]{method.getDeclaringClass(), id}); } private  ModelInterceptor(); static Model findById(@Origin Method method, @Argument(0) Serializable id); static boolean exists(@Origin Method method, @Argument(0) Serializable id); static Model one(@Origin Method method, @Argument(0) Object[] paramValues); static Model first(@Origin Method method, @Argument(0) Object[] paramValues); static List<Model> all(@Origin Method method); static List<Model> where(@Origin Method method, @Argument(0) Object[] paramValues); static List<Model> where(@Origin Method method, @Argument(0) Filter filter); static long count(@Origin Method method, @Argument(0) Filter filter); static long count(@Origin Method method); static void deleteAll(@Origin Method method, @Argument(0) Filter filter); static void deleteAll(@Origin Method method); static Filter filter(@Origin Method method);  }### Answer:
@Test public void shouldCallFindById() throws Throwable { createModel(RandomStringUtils.randomAlphabetic(5), RandomStringUtils.randomAlphabetic(5)); DummyModel model2 = createModel(RandomStringUtils.randomAlphabetic(5), RandomStringUtils.randomAlphabetic(5)); assertEquals(ModelInterceptor.findById(DummyModel.class.getMethod("findById", Serializable.class), model2.getId()), model2); }