public int AddKey(KeyStatus status, Key key)
{
int lastVersion = 0;
foreach (var version in _metadata.Versions)
{
if (status == KeyStatus.Primary && version.Status == KeyStatus.Primary)
version.Status = KeyStatus.Active;
lastVersion = Math.Max(lastVersion, version.VersionNumber);
}
_metadata.Versions.Add(new KeyVersion() {Status = status, VersionNumber = ++lastVersion});
_keys.Add(lastVersion, key);
onlyMetaChanged = false;
return lastVersion;
}