def METHOD_NAME(self):
    slicer.util.delayDisplay("Starting the test")
    #
    # add a markups control point list
    #
    pointList = slicer.mrmlScene.AddNewNodeByClass('vtkMRMLMarkupsFiducialNode')
    pointList.AddControlPoint([10, 20, 15])
    #
    # save a scene view
    #
    sv = slicer.mrmlScene.AddNode(slicer.vtkMRMLSceneViewNode())
    sv.StoreScene()
    #
    # add another storable node, a volume
    #
    slicer.util.delayDisplay("Adding a new storable node, after creating a scene view")
    import SampleData
    mrHeadVolume = SampleData.downloadSample("MRHead")
    mrHeadID = mrHeadVolume.GetID()
    #
    # restore the scene view
    #
    slicer.util.delayDisplay("Restoring the scene view")
    sv.RestoreScene()
    #
    # Is the new storable data still present?
    #
    restoredData = slicer.mrmlScene.GetNodeByID(mrHeadID)
    # for now, the non scene view storable data is removed
    self.assertIsNone(restoredData)
    slicer.util.delayDisplay('Success: extra storable node removed with scene view restore')
    #
    # add new storable again
    mrHeadVolume = SampleData.downloadSample("MRHead")
    mrHeadID = mrHeadVolume.GetID()
    #
    # restore the scene view, but error on removing nodes
    #
    slicer.util.delayDisplay("Restoring the scene view with check for removed nodes")
    sv.RestoreScene(0)
    #
    # Is the new storable data still present?
    #
    restoredData = slicer.mrmlScene.GetNodeByID(mrHeadID)
    # in this case the non scene view storable data is kept' scene is not changed
    self.assertIsNotNone(restoredData)
    slicer.util.delayDisplay('Success: extra storable node NOT removed with scene view restore')
    print('Scene error code = ' + str(slicer.mrmlScene.GetErrorCode()))
    print('\t' + slicer.mrmlScene.GetErrorMessage())
    slicer.util.delayDisplay('Test passed!')