public Integer getOrder() { getComponent() .getDocument() .getTransactionManager() .readAccess( new Runnable() { public void run() { targetComponent = new WeakReference<DesignComponent>(getTargetComponent()); } }); if (targetComponent == null) throw new IllegalStateException(getComponent() + " has no target component"); // NOI18N Collection<? extends ActionsPresenter> presenters = targetComponent.get().getPresenters(ActionsPresenter.class); for (ActionsPresenter presenter : presenters) { List<Action> pa = presenter.getActions(); for (Action action : pa) { if (action == null) continue; if (actionToInherit == action.getClass()) { return presenter.getOrder(); } } } return null; }