/** @return xColumns from hidden and visible customization lists */
 private List<XViewerColumn> getConfigCustXViewerColumns() {
   List<XViewerColumn> xCols = new ArrayList<XViewerColumn>();
   for (XViewerColumn xCol : getTableXViewerColumns(visibleColTable.getViewer())) {
     xCol.setShow(true);
     xCol.setXViewer(xViewerToCustomize);
     xCols.add(xCol);
   }
   for (XViewerColumn xCol : getTableXViewerColumns(hiddenColTable.getViewer())) {
     xCol.setShow(false);
     xCol.setXViewer(xViewerToCustomize);
     xCols.add(xCol);
   }
   return xCols;
 }
  public SprintXViewerFactory(SprintArtifact soleSprintArtifact) {
    super("org.eclipse.osee.ats.SprintXViewer");
    this.soleSprintArtifact = soleSprintArtifact;

    List<XViewerAtsAttributeValueColumn> configCols = WorldXViewerUtil.getConfigurationColumns();
    List<XViewerColumn> sprintCols = new LinkedList<XViewerColumn>();

    // Add default Sprint columns
    WorldXViewerUtil.addColumn(this, SprintOrderColumn.getInstance(), 45, sprintCols);
    WorldXViewerUtil.addColumn(this, TitleColumn.getInstance(), 339, sprintCols);
    WorldXViewerUtil.addColumn(this, StateColumn.getInstance(), 74, sprintCols);
    WorldXViewerUtil.addColumn(this, PriorityColumn.getInstance(), 20, sprintCols);
    WorldXViewerUtil.addColumn(this, ChangeTypeColumn.getInstance(), 20, sprintCols);
    WorldXViewerUtil.addColumn(this, AssigneeColumnUI.getInstance(), 113, sprintCols);
    XViewerColumn unPlannedWorkColumn =
        WorldXViewerUtil.getConfigColumn("ats.Unplanned Work", configCols);
    if (unPlannedWorkColumn != null) {
      WorldXViewerUtil.addColumn(this, unPlannedWorkColumn, 43, sprintCols);
      configCols.remove(unPlannedWorkColumn);
    }
    WorldXViewerUtil.addColumn(this, TargetedVersionColumn.getInstance(), 50, sprintCols);
    WorldXViewerUtil.addColumn(this, NotesColumn.getInstance(), 116, sprintCols);
    WorldXViewerUtil.addColumn(this, AgileFeatureGroupColumn.getInstance(), 91, sprintCols);
    WorldXViewerUtil.addColumn(this, CreatedDateColumn.getInstance(), 82, sprintCols);
    WorldXViewerUtil.addColumn(this, new AtsIdColumn(true), 50, sprintCols);

    // Add remaining columns from world columns
    for (XViewerColumn worldCol : WorldXViewerFactory.WorldViewColumns) {
      if (!sprintCols.contains(worldCol)) {
        XViewerColumn newCol = worldCol.copy();
        newCol.setShow(false);
        registerColumns(newCol);
      }
    }
    WorldXViewerUtil.registerAtsAttributeColumns(this);
    WorldXViewerUtil.registerPluginColumns(this);
    WorldXViewerUtil.registerStateColumns(this);
    // Add remaining Configuration Columns
    for (XViewerAtsAttributeValueColumn col : configCols) {
      registerColumns(col);
    }
  }