@Override
  public final boolean update() {
    if (shouldUpdateData()) {
      PresentationData before = getPresentation();
      PresentationData updated = getUpdatedPresentation();
      return shouldApply() && apply(updated, before);
    }
    return false;
  }
@Override
  public final boolean update()