implemented Equals and hashCode for ExampleState, still generating
duplicate states