source: class MethodInvokerTest {
  
  	@Test
  	public void testCall() {
  
target: 		JreJsonFactory jsonFactory = new JreJsonFactory();
  		JsonArray params = jsonFactory.createArray();
  		params.set(0, true);
  		params.set(1, "hey");
  		params.set(2, 88.0);
  		JsonArray innerArray = jsonFactory.createArray();
  		innerArray.set(0, "inner");
  		params.set(3, innerArray);
  		TestTarget target = new TestTarget();
  		Method testMethod = Arrays
  				.stream(TestTarget.class.getDeclaredMethods())
  				.filter(m -> "testMethod".equals(m.getName())).findFirst()
  				.get();
  		MethodInvoker invoker = new MethodInvoker(target, testMethod);
  		invoker.call(params);
  		assertEquals(Boolean.TRUE, target.getArg1());
  		assertEquals("hey", target.getArg2());
  		assertEquals(new Double(88.0), target.getArg3());
  		assertEquals(1, target.getArg4().length());
  		assertEquals("inner",
  				((JsonString) target.getArg4().get(0)).getString());
  	}
  
  }