ArrangementRuleAliasDialog () { final Set<String> tokenIds = new HashSet<>(); final List<ArrangementSectionRule> sections = getSections(); for (ArrangementSectionRule section : sections) { for (StdArrangementMatchRule rule : section.getMatchRules()) { rule.getMatcher().getCondition().invite(new ArrangementMatchConditionVisitor() { @Override public void visit(@NotNull ArrangementAtomMatchCondition condition) { if (ArrangementUtil.isAliasedCondition(condition)) { tokenIds.add(condition.getType().getId()); } } @Override public void visit(@NotNull ArrangementCompositeMatchCondition condition) { for (ArrangementMatchCondition operand : condition.getOperands()) { operand.invite(this); } } }); } } final Collection<StdArrangementRuleAliasToken> aliases = getRulesAliases(); assert aliases != null; return new ArrangementRuleAliasDialog(null, mySettingsManager, myColorsProvider, aliases, tokenIds); }