code: public List getModelUpdatedOrFilteredByPredicate()
    {
  
      List model = getModel();
  
      if( _filter != null )
      {
        model = new ArrayList( model ); //duplicate because, insanely, ColUtil.filter is destructive
        for( Iterator it = model.iterator(); it.hasNext(); )
        {
          Object o = it.next();
          if( !_filter.evaluate( o ) )
          {
            it.remove();
          }
        }
      }
  
      return model;
    }
docs: Returns the underlying list, filtered by the predicate if it exists