code: public void push(T token) {
          if (token == lastPushed) return;
          lastPushed = token;
          if (token.getChannel() == TokenChannel.Default) {
              main.add(token);
          }
          all.add(token);
      }
docs: make Liskov spin