@Override
    public boolean equals(Object obj)
    {
        if (!(obj instanceof Point)) {
            return false;
        }
        
        Point b = (Point)obj;
        return b != null && b.x == x && b.y == y;
    }