/// <summary>
 /// Adds branch. If you add new branch outside of CreateBranches, newly added branch criterias are not applied on already saved entities.
 /// </summary>
 /// <param name="branch">IBranch</param>
 public void AddBranch(IBranch <T> branch)
 {
     if (string.IsNullOrEmpty(branch.GetBranchId()))
     {
         throw new ArgumentException($"BranchId must be set. branch.SetBranchId(string branchId)");
     }
     if (branch.GetEntityType() == default)
     {
         throw new ArgumentException($"EntityType must be set. branch.SetEntityType(RedisEntity entity);");
     }
     _branches.Add(branch);
 }