public boolean equals(Object o) {
        if (!(o instanceof FilterChain)) {
            return false;
        }
        FilterChain otherChain = (FilterChain) o;
        int size = filters.size();
        if (size != otherChain.getFilters().size()) {
            return false;
        }
        for (int i = 0; i < size; ++i) {
            if (!(filters.elementAt(i).equals(
                          otherChain.getFilters().elementAt(i)))) {
                return false;
            }
        }
        return true;
    }