But the CrewRoster List is a List of type ProtoCrewMember not MyNewKerbalMembers, so if I add an instance of MyNewKerbalMembers, this instance will be converted to ProtoCrewMembers, which means all my custom objects are gone. Same goes for retrieving the values from the CrewRoster. Since I am calling a method(like CrewRoster.Find(..)) of type ProtoCrewMember, I will receive a ProtoCrewMember-instance which I then have to convert back to MyNewKerbalMembers. As far as I know one of these conversions should lead to a loss of my custom objects. If the CrewRoster-List would be defined like: List<MyNewKerbalMembers> CrewRoster = ... then it would be no problem, because conversion from ProtoCrewMember to MyNewKerbalMembers should result in no loss of objects(rather an addition of objects). So if I am unable to edit the ProtoCrewMember class I don't see a way of getting this to work the way I wanted it to work in the beginning. :/