@Override
	public void run() {
		do {
			Collection<Car> carsCopy = new ArrayList<>();
			carsCopy.addAll(allCars.values());
			for (Car car : carsCopy) {
				if (!car.isSignificant()) {
					continue;
				}

				try {
					Thread.sleep(1000);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}

				try {
					pushPosition(car);
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}

				try {
					fetchPositions(car);
				} catch (IOException e) {
					if (e instanceof FileNotFoundException) {
						if (MapsRacer.DEBUG) {
							System.out.println("no positions on server");
						}
					} else {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}
		} while (true);
	}