The newly added lines of code actually fix the problem that occurs when
"enable filter row" has 

been set to true, issue occurs if some one implements its on filter
strategy and then use it like 

this

//created a matcherEditor to perform matching.
CompositeMatcherEditor<TableRow> matcherEditor = new
CompositeMatcherEditor<TableRow>();

//initializing my custom filterStrategy object
filterStrategy = new XYFilterStrategy<TableRow>(matcherEditor);

//setting the matcher to filterlist.
filterList.setMatcherEditor(matcherEditor);

//applied filter
filterStrategy.applyFilter(filterMap);

now when the above code executes, the matcher editor on filterList
becomes different while 

DefaultGlazedListFilterStrategy contains the old matcher editor that was
assigned to it at the 

time of creating the ColumnHeaderLayerStack and as a result
DefaultGlazedListFilterStrategy stops
applying filtering.

So minor changes has been done in the code, so that there is a way to
set the matcher editor in 

the DefaultGlazedListFilterStrategy class, now we can set the matcher
editor like

// matcher editor that has been set on filter list, is also set on the 

DefaultGlazedListFilterStrategy to keep it align with filter list and
get it work.
getTable().getColumnHeaderLayerStack().getFilterStrategy().setMatcherEditor(matcherEditor);