internal void Validate()
{
if(Node == null)
throw new InvalidOperationException("Invalid setting: Node cannot be null.");
if (CurrentVersion != null && CurrentVersionId == 0)
throw new InvalidOperationException("Invalid version combination: CurrentVersion is not null and CurrentVersionId is 0.");
if (CurrentVersion == null && CurrentVersionId != 0)
throw new InvalidOperationException("Invalid version combination: CurrentVersion is null and CurrentVersionId is not 0.");
if (CurrentVersion == null && ExpectedVersion == null)
throw new InvalidOperationException("Invalid version combination: CurrentVersion is null and ExpectedVersion is null.");
if (CurrentVersion == null && ExpectedVersionId > 0)
throw new InvalidOperationException("Invalid version combination: CurrentVersion is null and ExpectedVersionId is not 0.");
}
internal SavingAlgorithm GetSavingAlgorithm()