Execute given bulk of operations.
             Each BulkItem contains one of the following operation -
            
             WRITE - given object should be inserted to the data store,
             UPDATE - given object should be updated in the data store,
             REMOVE - given object should be deleted from the data store
            
             If the implementation uses transactions,
             all the bulk operations must be executed in one transaction.
             
- bulk (IList<(Of <(<'BulkItem>)>)>)
 - Collection of bulk items to execute
 
