@Override
  public IWizardPage getNextPage(IWizardPage page) {
    TemplateMetadata template = mValues.getTemplateHandler().getTemplate();

    if (page == mMainPage && shouldAddIconPage()) {
      WizardPage iconPage = getIconPage(mValues.getIconState());
      mValues.updateIconState(mMainPage.getEvaluator());
      return iconPage;
    } else if (page == mMainPage
        || shouldAddIconPage() && page == getIconPage(mValues.getIconState())) {
      if (template != null) {
        if (InstallDependencyPage.isInstalled(template.getDependencies())) {
          return getPreviewPage(mValues);
        } else {
          return getDependencyPage(template, true);
        }
      }
    } else if (page == getDependencyPage(template, false)) {
      return getPreviewPage(mValues);
    }

    return super.getNextPage(page);
  }
 @Override
 protected boolean shouldAddIconPage() {
   return mValues.getIconState() != null;
 }