public final void updateSelectionAction() throws DbException {
   int state = STATE_NOT_APPLICABLE;
   Object[] semObjs = ApplicationContext.getFocusManager().getSelectedSemanticalObjects();
   for (int i = 0; i < semObjs.length; i++) {
     if (!(semObjs[i] instanceof DbOODataMember)) {
       state = STATE_NOT_APPLICABLE;
       break;
     }
     DbOOAssociationEnd assocEnd = ((DbOODataMember) semObjs[i]).getAssociationEnd();
     if (assocEnd != null) state = updateTriState(state, assocEnd.isNavigable());
   }
   setState(state);
 }
 protected final void setObjectValue(Object obj, Boolean value) throws DbException {
   DbOODataMember member = (DbOODataMember) obj;
   DbOOAssociationEnd assocEnd = member.getAssociationEnd();
   if (assocEnd != null) assocEnd.setNavigable(value);
 }