/// <summary> /// Adds a modification set. /// </summary> /// <param name="modifications">The modification set.</param> public void AddModifications(ModificationSet modifications) { var lockAcquired = false; try { lockAcquired = this.modificationsLock.TryEnterWriteLock(TimeSpan.FromMinutes(2)); if (lockAcquired) { logger.Debug("Adding modification set to context"); this.modificationsSets.Add(modifications); } else { logger.Error("Unable to acquire lock for adding modifications"); throw new Exception("Unable to acquire lock for adding modifications"); } } finally { if (lockAcquired) { this.modificationsLock.ExitWriteLock(); } } }