Я могу добавить потоки или дополнительные элементы, например:
Stream stream = Stream.concat(stream1, Stream.concat(stream2, Stream.of(element));
И я могу добавить новые вещи, как я иду, например:
Stream stream = Stream.concat(
                       Stream.concat(
                              stream1.filter(x -> x!=0), stream2)
                              .filter(x -> x!=1),
                                  Stream.of(element))
                                  .filter(x -> x!=2);
Но это уродливо, потому что concat является статическим. Если concat был методом экземпляра, приведенные выше примеры были бы намного легче читать:
 Stream stream = stream1.concat(stream2).concat(element);
и
 Stream stream = stream1
                 .filter(x -> x!=0)
                 .concat(stream2)
                 .filter(x -> x!=1)
                 .concat(element)
                 .filter(x -> x!=2);
Мой вопрос:
1) Есть ли веская причина, почему concat является статическим? Или есть какой-то эквивалентный метод экземпляра, который мне не хватает?
2) В любом случае, есть ли лучший способ сделать это?
