public static List <ObjectState> RemoveDuplicates(List <ObjectState> objectStates) { List <ObjectState> newObjectStates = new List <ObjectState>(); for (int i = 0; i < objectStates.Count; i++) { ObjectState objectState = objectStates[i]; if (objectState == null) { continue; } bool isDuplicate = false; for (int j = 0; j < newObjectStates.Count; j++) { ObjectState os = newObjectStates[j]; if (objectState.EqualsObject(os)) { isDuplicate = true; break; } } if (isDuplicate) { continue; } newObjectStates.Add(objectState); } return(newObjectStates); }