Could you explain to me what this two part in checkquesave sub does?


Private Sub CheckSaveQue()

Do
If StopSaveThread Then Exit Do
Try

If SaveQue.Count = 0 Then
Threading.Thread.Sleep(1000)
Else

For Each ImgObj As Object In SaveQue
If StopSaveThread Then Exit Do
Dim savename As String = DirectCast(ImgObj, SavePic).FileName
Debug.WriteLine(savename)
DirectCast(ImgObj, SavePic).Image.Save(savename)
Next

SaveQue.Clear()

End If
Catch ex As Exception
Debug.WriteLine(ex.ToString)
End Try
Loop

End Sub