Fix issue whereby deleteBy and restoreBy are not being flushed

Flush only runs executeDeletes and executeRestores when there are values stored in documentDeletes or documentRestores. However when using exclusively the deleteBy or restoreBy methods the documentDeletes/documentRestores parameters remain empty and therefor the flush never executes the deleteBy/restoreBy criteria.

I have added the addition OR condition to ensure that the execute* methods are called when the document* parameters are empty but the deleteBy/restoreBy parameters hold values.