public static void toggleDataContext(Object parent, String dataVar) { DataContextImpl dcImpl = getDataContext(parent, dataVar); if (dcImpl.getValue() instanceof Boolean) { Boolean currVal = (Boolean) dcImpl.getValue(); dcImpl.setValue(!currVal); } } public static DataContextImpl getDataContext(Object parent, String dataVar) { for (DataContext dc : getDataContextList(parent)) { DataContextImpl dcImpl = (DataContextImpl) dc; if (dataVar.equals(dcImpl.getVar())) { return dcImpl; } } return null; } private static List<DataContext> getDataContextList(Object parent) { try { if (parent instanceof UIViewRootEx2) { UIViewRootEx2 par = (UIViewRootEx2) parent; return par.getDataContexts(); } if (parent instanceof UIPanelEx) { UIPanelEx par = (UIPanelEx) parent; return par.getDataContexts(); } handleException(new Throwable("The object passed in is not compatible with dataContexts")); return null; } catch (Throwable e) { handleException(e); return null; } }