@Nullable private Pair<ArrangementMatchCondition, ArrangementSettingsToken> buildCondition() { List<ArrangementMatchCondition> conditions = ContainerUtilRt.newArrayList(); ArrangementSettingsToken orderType = null; for (ArrangementUiComponent component : myComponents.values()) { if (!component.isEnabled() || !component.isSelected()) { continue; } ArrangementSettingsToken token = component.getToken(); if (token != null && StdArrangementTokens.Order.is(token)) { orderType = token; } else { conditions.add(component.getMatchCondition()); } } if (orderType != null && !conditions.isEmpty()) { return Pair.create( ArrangementUtil.combine( conditions.toArray(new ArrangementMatchCondition[conditions.size()])), orderType); } else { return null; } }