@Override
    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        
        if (!(o instanceof Position)) {
            return false;
        }
        
        Position other = (Position) o;
        
        return this.x == other.x && this.y == other.y;
    }