code: public TableColumnCache getTableColumnCache(FacesContext context) {
          final String key = createKey(this);
          final Map<Object, Object> attributes = context.getAttributes();
          TableColumnCache info = (TableColumnCache) attributes.get(key);
          if (info == null) {
              info = new TableColumnCache(this);
              attributes.put(key, info);
          }
          return info;
      }
docs: Returns a <code>TableColumnCache</code> object containing details such
  as row and column classes, cachedColumns, and a mechanism for scrolling through
  the row/column classes.
  
  @param context the <code>FacesContext</code> for the current request
  @return the <code>TableColumnCache</code> for provided table