private void updateNearest(T item) throws SQLException {
		synchronized (nearestItemLock) {
			if (item != null && nearestItem != null && item.getId() == nearestItem.getId()) {
				updateNearest();
			}
			if (item != null
					&& (nearestItem == null || (!item.isDue() && item.getDueDate().before(nearestItem.getDueDate())))) {
				logger.debug("New nearest item found: " + item.getTitle());
				nearestItem = item;
				setTimer(nearestItem.getDueDate());
			} else {
				logger.debug("No new nearest item found.");
			}
		}
	}