@Override
	public boolean equals(Object other){
		if (other == null) return false;
		if (other == this) return true;
		if (!(other instanceof Formula)) return false;
		Formula otherFormula = (Formula)other;		
		boolean equals = otherFormula.name.equals(this.name) && otherFormula.property1.equals(this.property1);
		if (property2 != null && otherFormula.getProperty2() != null) {
			equals &= otherFormula.property2.equals(this.property2);
		}
		return equals;
	}