private synchronized Place getCurrent() {
    if (currentPos >= 0 && currentPos < history.size()) {
      return history.get(currentPos);
    } else {
      return null;
    }
  }
private synchronized Place getCurrent()