### Question:
RollupStateAdapter implements GriffonPivotAdapter, org.apache.pivot.wtk.RollupStateListener { public void expandedChanged(org.apache.pivot.wtk.Rollup arg0) { if (expandedChanged != null) { expandedChanged.call(arg0); } }  CallableWithArgs<Vote> getPreviewExpandedChange(); CallableWithArgs<Void> getExpandedChangeVetoed(); CallableWithArgs<Void> getExpandedChanged(); void setPreviewExpandedChange(CallableWithArgs<Vote> previewExpandedChange); void setExpandedChangeVetoed(CallableWithArgs<Void> expandedChangeVetoed); void setExpandedChanged(CallableWithArgs<Void> expandedChanged); org.apache.pivot.util.Vote previewExpandedChange(org.apache.pivot.wtk.Rollup arg0); void expandedChangeVetoed(org.apache.pivot.wtk.Rollup arg0, org.apache.pivot.util.Vote arg1); void expandedChanged(org.apache.pivot.wtk.Rollup arg0);  }### Answer:
@Test public void testExpandedChanged() { final boolean[] invoked = new boolean[1]; CallableWithArgs<Void> callable = new CallableWithArgs<Void>() { public Void call(Object... args) { invoked[0] = true; return null; } }; assertNull(adapter.getExpandedChanged()); adapter.expandedChanged(null); assertFalse(invoked[0]); adapter.setExpandedChanged(callable); adapter.expandedChanged(null); assertTrue(invoked[0]); }