### Question:
TextPaneCharacterAdapter implements GriffonPivotAdapter, org.apache.pivot.wtk.TextPaneCharacterListener { public void charactersInserted(org.apache.pivot.wtk.TextPane arg0, int arg1, int arg2) { if (charactersInserted != null) { charactersInserted.call(arg0, arg1, arg2); } }  CallableWithArgs<Void> getCharactersInserted(); CallableWithArgs<Void> getCharactersRemoved(); void setCharactersInserted(CallableWithArgs<Void> charactersInserted); void setCharactersRemoved(CallableWithArgs<Void> charactersRemoved); void charactersInserted(org.apache.pivot.wtk.TextPane arg0, int arg1, int arg2); void charactersRemoved(org.apache.pivot.wtk.TextPane arg0, int arg1, int arg2);  }### Answer:
@Test public void testCharactersInserted() { final boolean[] invoked = new boolean[1]; CallableWithArgs<Void> callable = new CallableWithArgs<Void>() { public Void call(Object... args) { invoked[0] = true; return null; } }; assertNull(adapter.getCharactersInserted()); adapter.charactersInserted(null, 0, 0); assertFalse(invoked[0]); adapter.setCharactersInserted(callable); adapter.charactersInserted(null, 0, 0); assertTrue(invoked[0]); }