public function filter($table)
    {
        foreach ($table->getRows() as $key => $row) {
            $params = array();
            foreach ($this->columnsToFilter as $column) {
                $params[] = $row->getColumn($column);
            }

            $params = array_merge($params, $this->functionParams);
            if (call_user_func_array($this->function, $params) === true) {
                $table->deleteRow($key);
            }

            $this->filterSubTable($row);
        }
    }