    @Test
    public void setParamComplex() {

        ParamOption options = new ParamOption().setPersistent(true).setAppend(true);
        tracker.setParam(key, 1)
                .setParam(key, "test");
        tracker.setParam(key, 1, options)
                .setParam(key, 67, options);

        assertEquals(1, buffer.getVolatileParams().size());
        assertEquals(1, buffer.getPersistentParams().size());

        assertEquals(3, buffer.getVolatileParams().get(key).getValues().size());
        assertEquals("test", buffer.getVolatileParams().get(key).getValues().get(0).execute());
        assertEquals("1", buffer.getVolatileParams().get(key).getValues().get(1).execute());
        assertEquals("67", buffer.getVolatileParams().get(key).getValues().get(2).execute());

        assertEquals(2, buffer.getPersistentParams().get(key).getValues().size());
        assertEquals(true, buffer.getPersistentParams().get(key).getOptions().isAppend());
        assertEquals("1", buffer.getPersistentParams().get(key).getValues().get(0).execute());
        assertEquals("67", buffer.getPersistentParams().get(key).getValues().get(1).execute());
    }