@Override
    public boolean equals(Object other) {
        boolean isEqual = false;
        
        if (other == this) {
            isEqual = true;
        } else if (other != null && other.getClass() == this.getClass()) {
            Coordinate otherCoord = (Coordinate) other;
            
            isEqual = otherCoord.x == this.x && otherCoord.y == this.y &&
                      otherCoord.z == this.z;
        }

        return isEqual;
    }