Buggy code:
private String sortableHeaderStyle ; private String sortableHeaderClass ; private String sortableHeaderRolloverStyle ; private String sortableHeaderRolloverClass ; private String rowMinHeight ; private String horizontalGridLines ; private String verticalGridLines ; private String commonHeaderSeparator ; private String commonFooterSeparator ; private String headerHorizSeparator ; private String headerVertSeparator ; private String multiHeaderSeparator ; private String multiFooterSeparator ; private String footerHorizSeparator ; private String footerVertSeparator ; private Boolean applyDefaultStyle ; private Boolean useAjax ; private Boolean noDataMessageAllowed ; private String columnIdVar ; private String columnIndexVar ; private Iterable < String > columnsOrder ; private Iterable < String > hiddenColumns ; private String sortedAscendingImageUrl ; private String sortedDescendingImageUrl ; private List < SortingRule > incomingSortingRules ; private boolean beforeUpdateValuesPhase = true ; private List < BaseColumn > cachedAllColumns ; private List < BaseColumn > cachedRenderedColumns ; private Map < String , BaseColumn > cachedColumnsByIds ; private String cachedClientId ; private List < Filter > myFilters = new ArrayList < Filter > ( ) ; private Integer autoFilterDelay ; private Boolean deferBodyLoading ; private Integer totalRowCount ; private boolean implicitFacetsCreated ; private Boolean unsortedStateAllowed ; private Boolean keepSelectionVisible ; private Boolean rowsDecodingRequired = true ; private String onbeforeajaxreload ; private String onafterajaxreload ; private Boolean unDisplayedSelectionAllowed ; public AbstractTable ( ) { } @ Override public Object processSaveState ( FacesContext context ) { } @ Override public Object saveState ( FacesContext context ) { } @ Override public void restoreState ( FacesContext context , Object stateObj ) { } @ Override public void processEvent ( ComponentSystemEvent event ) throws AbortProcessingException { } protected void afterRestoreState ( FacesContext context ) { } protected void beforeProcessDecodes ( FacesContext context ) { } @ Override public boolean visitTree ( VisitContext context , VisitCallback callback ) { } public void invokeBeforeProcessDecodes ( FacesContext context ) { } protected TableDataModel getModel ( ) { } @ Override public void setRowIndex ( int rowIndex ) { } private void ensureImplicitFacetsCreated ( ) { } private List < UIComponent > additionalComponentsRequiringClientIdReset ; private List < UIComponent > getAdditionalComponentsRequiringClientIdReset ( ) { } public boolean isRowAvailable ( ) { } public UIComponent getHeader ( ) { } public void setHeader ( UIComponent component ) { } public UIComponent getFooter ( ) { } public void setFooter ( UIComponent component ) { } public UIComponent getAbove ( ) { } public void setAbove ( UIComponent component ) { } public UIComponent getBelow ( ) { } public void setBelow ( UIComponent component ) { } @ Override public Object getValue ( ) { } @ Override public void setValue ( Object value ) { } public String getHeaderSectionStyle ( ) { } public void setHeaderSectionStyle ( String headerSectionStyle ) { } public String getHeaderSectionClass ( ) { } public void setHeaderSectionClass ( String headerSectionClass ) { } public String getBodySectionStyle ( ) { } public void setBodySectionStyle ( String bodySectionStyle ) { } public String getBodySectionClass ( ) { } public void setBodySectionClass ( String bodySectionClass ) { } public String getFooterSectionStyle ( ) { } public void setFooterSectionStyle ( String footerSectionStyle ) { } public String getFooterSectionClass ( ) { } public void setFooterSectionClass ( String footerSectionClass ) { } @ Override protected List < BaseColumn > getColumnsForProcessing ( ) { } public List < BaseColumn > getRenderedColumns ( ) { } public List < BaseColumn > getFixRenderedColumns ( ) { } public void clearRenderedColumnCache ( ) { } private List < BaseColumn > calculateRenderedColumns ( ) { } protected boolean isNeededToBeRendered ( BaseColumn column ) { } private List < BaseColumn > calculateRenderedColumnsFix ( ) { } public BaseColumn findColumnById ( List < BaseColumn > allColumns , String columnId ) { } public boolean containsColumnById ( Iterable < String > columnsId , String columnId ) { } protected void createImplicitColumnFacets ( boolean forDynamicColumns ) { <START_BUG> List < BaseColumn > allColumns = getAllColumns ( ) ; <END_BUG> for ( BaseColumn column : allColumns ) { boolean thisIsADynamicColumn = column instanceof DynamicColumn ; if ( forDynamicColumns == thisIsADynamicColumn ) column . createImplicitFacets ( ) ; } } public List < BaseColumn > getAllColumns ( ) { } private List < BaseColumn > calculateAllColumns ( ) { } public String getCellspacing ( ) { } public void setCellspacing ( String cellspacing ) { } public String getCellpadding ( ) { } public void setCellpadding ( String cellpadding ) { } public int getBorder ( ) { } public void setBorder ( int border ) { } public Iterable < String > getColumnsOrder ( ) { } public void setHiddenColumns ( Iterable < String > hiddenColumns ) { } public Iterable < String > getHiddenColumns ( ) { } public void setColumnsOrder ( Iterable < String > columnsOrder ) { } public String getSortedAscendingImageUrl ( ) { } public void setSortedAscendingImageUrl ( String sortedAscendingImageUrl ) { } public String getSortedDescendingImageUrl ( ) { } public void setSortedDescendingImageUrl ( String sortedDescendingImageUrl ) { } protected BaseColumn getColumn ( int colIndex ) { } public String getAlign ( ) { } public void setAlign ( String align ) { } public String getBgcolor ( ) { } public void setBgcolor ( String bgcolor ) { } public String getDir ( ) { } public void setDir ( String dir ) { } public String getRules ( ) { } public void setRules ( String rules ) { } public String getWidth ( ) { } public void setWidth ( String width ) { } public String getTabindex ( ) { } public void setTabindex ( String tabindex ) { } public String getHorizontalGridLines ( ) { } public void setHorizontalGridLines ( String horizontalGridLines ) { } public String getVerticalGridLines ( ) { } public void setVerticalGridLines ( String verticalGridLines ) { } public String getCommonHeaderSeparator ( ) { } public void setCommonHeaderSeparator ( String commonHeaderSeparator ) { } public String getCommonFooterSeparator ( ) { } public void setCommonFooterSeparator ( String commonFooterSeparator ) { } public String getHeaderHorizSeparator ( ) { } public void setHeaderHorizSeparator ( String headerHorizSeparator ) { }

Fix:
List < BaseColumn > allColumns = calculateAllColumns ( ) ;