### Question:
TabPaneAttributeAdapter implements GriffonPivotAdapter, org.apache.pivot.wtk.TabPaneAttributeListener { public void tabDataChanged(org.apache.pivot.wtk.TabPane arg0, org.apache.pivot.wtk.Component arg1, java.lang.Object arg2) { if (tabDataChanged != null) { tabDataChanged.call(arg0, arg1, arg2); } }  CallableWithArgs<Void> getTabDataChanged(); CallableWithArgs<Void> getTooltipTextChanged(); void setTabDataChanged(CallableWithArgs<Void> tabDataChanged); void setTooltipTextChanged(CallableWithArgs<Void> tooltipTextChanged); void tabDataChanged(org.apache.pivot.wtk.TabPane arg0, org.apache.pivot.wtk.Component arg1, java.lang.Object arg2); void tooltipTextChanged(org.apache.pivot.wtk.TabPane arg0, org.apache.pivot.wtk.Component arg1, java.lang.String arg2);  }### Answer:
@Test public void testTabDataChanged() { final boolean[] invoked = new boolean[1]; CallableWithArgs<Void> callable = new CallableWithArgs<Void>() { public Void call(Object... args) { invoked[0] = true; return null; } }; assertNull(adapter.getTabDataChanged()); adapter.tabDataChanged(null, null, null); assertFalse(invoked[0]); adapter.setTabDataChanged(callable); adapter.tabDataChanged(null, null, null); assertTrue(invoked[0]); }