public static bool StaticEquals(ILocalizedIdentity <T> left, ILocalizedIdentity <T> right) => left?.StringKey == right?.StringKey && left?.CultureKey == right?.CultureKey;
public override bool Equals(ILocalizedIdentity <T> left, ILocalizedIdentity <T> right) => StaticEquals(left, right);
public override int GetHashCode(ILocalizedIdentity <T> obj) => StaticGetHashCode(obj);
public static int StaticGetHashCode(ILocalizedIdentity <T> obj) => GetHashCode(obj?.StringKey, obj?.CultureKey);