@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;
   }
 }