code: public List<MessageHandler> getHandlers(IPredicate<MessageHandler> filter) {
          List<MessageHandler> matching = new ArrayList<MessageHandler>();
          for (MessageHandler handler : handlers) {
              if (filter.apply(handler)) {
                  matching.add(handler);
              }
          }
          return matching;
      }
docs: used by unit tests