pvtu writing for parts that don't have data on rank 0

Update: I have continued to look at this and am starting to think this is a bug in VTK.

Hello,

I am trying to use the vtkXMLPUnstructuredGridWriter to output results for a mesh that has multiple bodies. I want one set of output files per body. The problem is that some bodies do not have any data on the rank 0 process and when I write the *pvtu files for those bodies do not have any PPointData or PPoints info. The snippet of code that I use for writing is below, followed by the two *pvtu outputs for a two body and two processor job where all the data for body_1 is on rank 0 and all the data for body_2 is on rank 1, thus data on rank 0 for body_2 does not have any points or arrays. What can be done so that body_2.pvtu has the same PPointData and PPoints info as body_1.pvtu?

Snippet for writing:

vtkSmartPointer< vtkXMLPUnstructuredGridWriter > writer = vtkSmartPointer< vtkXMLPUnstructuredGridWriter >::New();
writer->SetController( contr );
writer->SetInputData( data );
writer->SetFileName( filename );
writer->SetNumberOfPieces( mpisize );
writer->SetStartPiece( rank );
writer->SetEndPiece( rank );
writer->Update();

body_1.pvtu output

<?xml version="1.0"?>
<VTKFile type="PUnstructuredGrid" version="0.1" byte_order="LittleEndian" header_type="UInt32" compressor="vtkZLibDataCompressor">
  <PUnstructuredGrid GhostLevel="0">
    <PPointData>
      <PDataArray type="Float32" Name="displacement" NumberOfComponents="3"/>
    </PPointData>
    <PPoints>
      <PDataArray type="Float32" Name="Points" NumberOfComponents="3"/>
    </PPoints>
    <Piece Source="body_1.vtu"/>
  </PUnstructuredGrid>
</VTKFile>

body_2.pvtu output

<?xml version="1.0"?>
<VTKFile type="PUnstructuredGrid" version="0.1" byte_order="LittleEndian" header_type="UInt32" compressor="vtkZLibDataCompressor">
  <PUnstructuredGrid GhostLevel="0">
    <PPoints>
    </PPoints>
    <Piece Source="body_2.vtu"/>
  </PUnstructuredGrid>
</VTKFile>