@POST
  @Path("/monitoring/check-for-updates")
  public void execute(@FormParam("clientId") String clientId, @FormParam("trackId") String trackId)
      throws Exception {
    Monitoring monitoring = MonitoringManager.load(clientId, trackId);

    if (monitoring != null) {
      Date date = new Date();

      Tracking tracking = TrackingManager.search(monitoring.getTrackId());
      String hash = tracking != null ? tracking.getHash() : null;

      if (hash != null && (monitoring.getHash() == null || !monitoring.getHash().equals(hash))) {
        monitoring.setHash(hash);
        monitoring.setUpdated(date);
        monitoring.setUnread(true);

        if (tracking.isCompleted()) {
          monitoring.setCompleted(date);
        }

        MonitoringPersistence.update(monitoring);
        NotificationManager.send(monitoring, tracking);
      }
    }
  }