@Override
  public boolean equals(Object aObject) {
    if (this == aObject) return true;
    if (aObject == null || getClass() != aObject.getClass()) return false;

    Vector4d vector4d = (Vector4d) aObject;

    if (Double.compare(vector4d.w, w) != 0) return false;
    if (Double.compare(vector4d.x, x) != 0) return false;
    if (Double.compare(vector4d.y, y) != 0) return false;
    if (Double.compare(vector4d.z, z) != 0) return false;

    return true;
  }