Note: The order of the elements in the waves list is important—if the
two objects have the same waves but in a different order, they will not
have the same hash code.
Implementation
@override
int get hashCode => const DeepCollectionEquality().hash(_waves);