code: public void update(long time, double latitude, double longitude, double speed, double bearing, double rateOfTurn)
      {
          if (strat == Strategy.SHORT)
          {
              throw new IllegalStateException("mixing short/long update");
          }
          strat = Strategy.LONG;
          lock.lock();
          try
          {
              this.time = time;
              this.latitude = latitude;
              this.longitude = longitude;
              this.speed = speed;
              this.bearing = bearing;
              this.rateOfTurn = rateOfTurn;
              calculated = false;
          }
          finally
          {
              lock.unlock();
          }
      }
docs: Updates values.
  
  <p>Don't mix short and long update method usage in same instance!
  
  @param time
  @param latitude
  @param longitude
  @param speed
  @param bearing Degrees
  @param rateOfTurn Degrees / minute
  @throws IllegalStateException If mixing short and long update method usage in same instance!