### Question:
TreeViewNodeStateAdapter implements GriffonPivotAdapter, org.apache.pivot.wtk.TreeViewNodeStateListener { public void nodeCheckStateChanged(org.apache.pivot.wtk.TreeView arg0, org.apache.pivot.collections.Sequence.Tree.Path arg1, org.apache.pivot.wtk.TreeView.NodeCheckState arg2) { if (nodeCheckStateChanged != null) { nodeCheckStateChanged.call(arg0, arg1, arg2); } }  CallableWithArgs<Void> getNodeCheckStateChanged(); void setNodeCheckStateChanged(CallableWithArgs<Void> nodeCheckStateChanged); void nodeCheckStateChanged(org.apache.pivot.wtk.TreeView arg0, org.apache.pivot.collections.Sequence.Tree.Path arg1, org.apache.pivot.wtk.TreeView.NodeCheckState arg2);  }### Answer:
@Test public void testNodeCheckStateChanged() { final boolean[] invoked = new boolean[1]; CallableWithArgs<Void> callable = new CallableWithArgs<Void>() { public Void call(Object... args) { invoked[0] = true; return null; } }; assertNull(adapter.getNodeCheckStateChanged()); adapter.nodeCheckStateChanged(null, null, null); assertFalse(invoked[0]); adapter.setNodeCheckStateChanged(callable); adapter.nodeCheckStateChanged(null, null, null); assertTrue(invoked[0]); }