@Override
	public boolean equals(Object obj) {
		if (!(obj instanceof Wall)) {
			return false;
		}
		Wall other = (Wall) obj;
		boolean areIdentical = this.getStartPoint().equals(
				other.getStartPoint())
				&& this.getEndPoint().equals(other.getEndPoint());
		boolean areInversed = this.getStartPoint().equals(other.getEndPoint())
				&& this.getEndPoint().equals(other.getStartPoint());
		boolean hashCodeEquals = (this.hashCode() == other.hashCode());
		if (areIdentical || areInversed || hashCodeEquals) {
			return true;
		}
		/*
		 * ATTENTION: They are not equal, if they have different lengths!
		 */
		return false;
	}