class OverlappingBloomFilterBasedWindow {

    public List<ComplexEvent> find(String attributeName, Object value) {

        Key key = new Key(value.toString().getBytes());
        List<ComplexEvent> foundEventList = new ArrayList<ComplexEvent>();

        boolean isInFilters = false;

        for (int i = 0; i <= oldestAddingFilter; i++) {
            if (filterList.get(i).membershipTest(key)) {
                isInFilters = true;
                break;
            }
        }

        if (isInFilters) {
            Iterator<StreamEvent> iterator = eventQueue.iterator();
            while (iterator.hasNext()) {
                StreamEvent streamEvent = iterator.next();
                if (streamEvent.getAttribute(joinAttributeId).equals(value)) {
                    foundEventList.add(streamEvent);
                }
            }
        }

        return foundEventList;

    }

}