public static <T> MultiExpression<T> of(List<Entry<T>> expressions) {
    LinkedHashMap<T, Expression> map = new LinkedHashMap<>();
    for (var expression : expressions) {
      map.merge(expression.result, expression.expression, Expression::or);
    }
    return new MultiExpression<>(
      map.entrySet().stream().map(e -> entry(e.getKey(), e.getValue())).collect(Collectors.toList()));
  }
Returns a new multi-expression from {@code expressions} where multiple expressions for the same key get OR'd
together.
<p>
If the order in which expresions match matter, use {@link #ofOrdered(List)} instead.
planetiler-core/src/main/java/com/onthegomap/planetiler/expression/MultiExpression.java