@Override
	public boolean equals(Object obj) {
		Edge other = (Edge) obj;

		if (this == obj) {
			return true;
		}
		if (obj == null || getClass() != obj.getClass()) {
			return false;
		}
		if (this.originVertex == null) {
			if (other.originVertex != null) {
				return false;
			}
		} else if (!this.originVertex.equals(other.originVertex)) {
			return false;
		}
		if (this.targetVertex == null) {
			if (other.targetVertex != null) {
				return false;
			}
		} else if (!this.targetVertex.equals(other.targetVertex)) {
			return false;
		}
		return true;
	}