### Question:
RollupStateAdapter implements GriffonPivotAdapter, org.apache.pivot.wtk.RollupStateListener { public org.apache.pivot.util.Vote previewExpandedChange(org.apache.pivot.wtk.Rollup arg0) { if (previewExpandedChange != null) { return previewExpandedChange.call(arg0); } return Vote.APPROVE; }  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 testPreviewExpandedChange() { final boolean[] invoked = new boolean[1]; CallableWithArgs<org.apache.pivot.util.Vote> callable = new CallableWithArgs<org.apache.pivot.util.Vote>() { public org.apache.pivot.util.Vote call(Object... args) { invoked[0] = true; return null; } }; assertNull(adapter.getPreviewExpandedChange()); adapter.previewExpandedChange(null); assertFalse(invoked[0]); adapter.setPreviewExpandedChange(callable); adapter.previewExpandedChange(null); assertTrue(invoked[0]); }