Filter to select subset of IDs from vtkUnstructuredGrid

Hi, I’m trying to apply a filter to only display 2/3 of the cells of a vtkUnstructuredGrid.
I’m finding very little documentation about the usage of filters and I’m a bit lost about how to do that.
This is the code I’ve come up so far (not working). I’m using ActiViz .NET. I’m using vtkLongArray as ids are stored as long (they are stored as global ids for the vtkUnstructuredGrid - m_mesh).

           vtkLongArray globalIds = vtkLongArray.SafeDownCast(m_mesh.GetCellData().GetGlobalIds());
        vtkLongArray filteredIDs = vtkLongArray.New();
        for (int i = 0; i < globalIds.GetNumberOfTuples() / 3; ++i)
        {
            filteredIDs.InsertNextTuple1(globalIds.GetTuple1(i));
        }

        vtkSelectionNode selectionNode = vtkSelectionNode.New();
        selectionNode.SetContentType((int)vtkSelectionNode.SelectionContent.GLOBALIDS);
        selectionNode.SetFieldType((int)vtkSelectionNode.SelectionField.CELL);
        selectionNode.SetSelectionList(filteredIDs);

        vtkSelection selection = vtkSelection.New();
        selection.AddNode(selectionNode);

        vtkExtractSelection extractSel = vtkExtractSelection.New();
        extractSel.SetInputData(0, m_mesh);
        extractSel.SetInputData(1, selection);

        vtkUnstructuredGrid filteredMesh = vtkUnstructuredGrid.New();
        filteredMesh.ShallowCopy(extractSel.GetOutput());
        selectionNode.GetProperties().Set(vtkSelectionNode.INVERSE(), 1); //invert the selection
        extractSel.Update();

        vtkDataSetMapper filterMap = vtkDataSetMapper.New();
        filterMap.SetInputData(filteredMesh);

        vtkActor filterActor = vtkActor.New();
        filterActor.SetMapper(filterMap);

        m_window.GetRenderers().GetFirstRenderer().AddActor(filterActor);
        m_window.Render();

Any help would be greatly appreciated.