internal static string GetUserKey <T>(T obj, Guid?alternateId = null) where T : Dwarf <T>, new() { var objectKey = typeof(T).Implements <ICompositeId>() ? DwarfHelper.GetUniqueKeyForCompositeId(obj) : alternateId.HasValue ? alternateId.Value.ToString() : obj.Id.ToString(); return(GetUserKey(objectKey)); }