@Deprecated
  public double parseSexagesimal2(String number) throws IllegalArgumentException {
    number = number.replace(' ', ':');
    number = number.replace(';', ':');

//    System.out.println(" ->" + number + " ; " + format);
//    System.out.flush();

    if (number.indexOf(":") == -1) {  // If there are no separators maybe they have sent just a single double
      try {
        double n = Double.parseDouble(number);

        return n;
      } catch (NumberFormatException e) {
        throw new IllegalArgumentException("Sexagesimal number format not correct (not even single number)");
      }
    }

    StringTokenizer st = new StringTokenizer(number, ":", false);

    double degrees = 0;
    double minutes = 0;
    double seconds = 0;

    try {
      String aux = st.nextToken().trim();

      if (aux.length() > 0) {
        degrees = Double.parseDouble(aux);
      }

      aux = st.nextToken().trim();

      if (aux.length() > 0) {
        minutes = Double.parseDouble(aux);
      }

      if (fractionLength > 5) {
        aux = st.nextToken().trim();

        if (aux.length() > 0) {
          seconds = Double.parseDouble(aux);
        }
      }

    } catch (NoSuchElementException e) {
      throw new IllegalArgumentException("Sexagesimal number format not correct");
    } catch (NumberFormatException e) {
      throw new IllegalArgumentException("Sexagesimal number component not correct");
    }

    double res = degrees;
    if (degrees > 0) {
      res += (minutes / 60.0) + (seconds / 3600.0);
    } else {
      res -= (minutes / 60.0) + (seconds / 3600.0);
    }

    return res;
  }