public override bool Equals(object obj) { return(obj is Requirement requirement && ClassNames.EqualTo(requirement.ClassNames) && ClassNamesNot.EqualTo(requirement.ClassNamesNot) && PowerIds.EqualTo(requirement.PowerIds) && PowerIdsNot.EqualTo(requirement.PowerIdsNot)); }