@Override
	public boolean equals(final Object obj) {
		if (this == obj) {
			return true;
		}
		if (obj == null) {
			return false;
		}
		if (getClass() != obj.getClass()) {
			return false;
		}
		final ECPoint other = (ECPoint) obj;
		if (isInfinity()) {
			return other.isInfinity();
		}
		if (other.isInfinity()) {
			return false;
		}
		// x!=null && y!=null
		return x.equals(other.x) && y.equals(other.y);
	}