public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		ComplexDecisionAction other = (ComplexDecisionAction) obj;
		if (decisions == null) {
			if (other.decisions != null)
				return false;
		} else if (decisions.size() != other.decisions.size()) {
			return false;
		} else {
			for (int i = 0; i < decisions.size(); i++) {
				try {
					if (decisions.get(i).getDecisionCode() != other.decisions.get(i).getDecisionCode()) {
						return false;
					}
				} catch (MaltChainedException e) {
					System.err.println("Error in equals. ");
				}
			}
		}
		
		return true;
	}