static void showSnapUpdateNotification(Project project, BuildNumber current) {
    if (ExternalUpdateManager.ACTUAL != ExternalUpdateManager.SNAP) return;

    PropertiesComponent properties = PropertiesComponent.getInstance();
    BuildNumber previous = BuildNumber.fromString(properties.getValue(PREVIOUS_BUILD_NUMBER_PROPERTY));
    properties.setValue(PREVIOUS_BUILD_NUMBER_PROPERTY, current.asString());
    if (previous == null || current.equals(previous)) return;

    String blogPost = null;
    Product product = loadProductData();
    if (product != null) {
      blogPost = product.getChannels().stream()
        .flatMap(channel -> channel.getBuilds().stream())
        .filter(build -> current.equals(build.getNumber()))
        .findFirst().map(BuildInfo::getBlogPost).orElse(null);
    }

    String title = IdeBundle.message("updates.notification.title", ApplicationNamesInfo.getInstance().getFullProductName());
    String message = IdeBundle.message("update.snap.message");
    var notification = UpdateChecker.getNotificationGroupForIdeUpdateResults()
      .createNotification(title, message, NotificationType.INFORMATION)
      .setDisplayId("ide.updated.by.snap");
    if (blogPost != null) {
      var url = StringUtil.escapeXmlEntities(blogPost);
      notification.addAction(NotificationAction.createSimpleExpiring(IdeBundle.message("update.snap.blog.post.action"), () -> BrowserUtil.browse(url)));
    }
    notification.notify(project);
  }
static void showSnapUpdateNotification(Project project, BuildNumber current)