Confusion about using the PVD reader from Python

I want to read a .pvd file from within a Python algorithm, and pass the underlying object (in my case a vtkMultiBlockDataSet) to an output port of my filter. So that my plugin be self-contained, I do not open the file with the pvd reader and then connect its output to the input port of my filter, but I read the pvd file directly from within the RequestData method of my filter class. Nevertheless, the code written below in >>> is equally valid in pvpython or the Python Shell of the ParaView GUI. Actually this is how I tested them. My data is time-dependent and the problem is that only the first time step is read.

Approach 1

One way to read a pvd file is via the vtkPVDReader class:

>>> from paraview.modules.vtkPVVTKExtensionsIOCore import vtkPVDReader
>>> reader = vtkPVDReader()
>>> reader.SetFileName('<path_to_my_file.pvd>')
>>> reader.Update()
>>> reader.GetNumberOfTimeSteps()
0
>>> reader.GetTimeStepRange()
(0, 0)

It doesn’t read all the time steps, only the first one. When I use it from within the RequestData method of my Python algorithm class, I feed it to output port 1:

outInfo = outInfoVector.GetInformationObject(1)
output1 = outInfo.Get(vtkDataObject.DATA_OBJECT())
output1.ShallowCopy(reader.GetOutputDataObject(0))

ParaView then only shows the mesh for the first time step. How can I get the meshes for all the time steps?

Approach 2

Next, I tried to use PVDReader from paraview.simple, although this is not recommended in an algorithm.

>>> reader2 = PVDReader(FileName='<path_to_my_file.pvd>')

Again, ParaView displays the first time step only in the toolbar. By the way, PVDReader seems to be a wrapper around vtkPVDReader:

>>> type(reader2.SMProxy.GetClientSideObject())
<class 'paraview.modules.vtkPVVTKExtensionsIOCore.vtkPVDReader'>

Approach 3

Drag & drop my .pvd file into the ParaView GUI. Then it properly reads the time steps. However, what surprises me is that the Python trace generated with it provides the same command as in Approach 2 above, which apparently didn’t read the time steps.