public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof SerialChainFilter)) return false;
        SerialChainFilter other = (SerialChainFilter) o;

        if (this.chain.length != other.getChain().length ||
        	this.actionType.length != other.getActionType().length)
        	return false;
        
        for (int i = 0; i < this.chain.length; i++) {
        	if (this.actionType[i] != other.getActionType()[i]  ||
        		(!this.chain[i].equals(other.getChain()[i])))
        		return false;
        }
        return true;
    }