using System.Collections.Generic;
public class RevisionBlueprint
public int Kind { get; set; }
public bool IsLocked { get; set; }
public static void Main()
List<RevisionBlueprint> revisionBlueprints = new List<RevisionBlueprint>
new RevisionBlueprint { Kind = 0, IsLocked = false },
new RevisionBlueprint { Kind = 1, IsLocked = false },
new RevisionBlueprint { Kind = 2, IsLocked = false },
new RevisionBlueprint { Kind = 2, IsLocked = false },
new RevisionBlueprint { Kind = 2, IsLocked = false },
for (int z = revisionBlueprints.Count - 1; z >= 0; z--)
if (revisionBlueprints[z].Kind == 0) break;
for (int x = z; x >= 0; x--)
if (revisionBlueprints[z].Kind == revisionBlueprints[x].Kind){
revisionBlueprints[x].IsLocked = true;
foreach (var element in revisionBlueprints)
Console.WriteLine($"Kind: {element.Kind}, IsLocked: {element.IsLocked}");