private static void rebuildGoogleProjectIfPluginVersionChanged(IProject project) {
    try {
      // We're only worried about Google projects
      if (NatureUtils.hasNature(project, GWTNature.NATURE_ID)
          || NatureUtils.hasNature(project, GaeNature.NATURE_ID)) {
        // Find the last plugin version that know the project was built with
        Version lastForcedRebuildAt = GdtPreferences.getVersionForLastForcedRebuild(project);
        Version currentPluginVersion = GdtPlugin.getVersion();

        if (!lastForcedRebuildAt.equals(currentPluginVersion)) {
          GdtPreferences.setVersionForLastForcedRebuild(project, currentPluginVersion);

          BuilderUtilities.scheduleRebuild(project);
          CorePluginLog.logInfo(
              "Scheduled rebuild of project "
                  + project.getName()
                  + " because of plugin update (current version: "
                  + currentPluginVersion.toString()
                  + ")");
        }
      }
    } catch (CoreException e) {
      CorePluginLog.logError(e);
    }
  }