1. Remove the method `useIsEqualToInsteadOfIsSameAs()` from unit tests and test for `isSameAs()` 2. fix broken unit tests **Example: take(0)** ```java // AbstractTraversableTest @Test public void shouldTakeNoneOnNil() { if (useIsEqualToInsteadOfIsSameAs()) { assertThat(empty().take(1)).isEqualTo(empty()); } else { assertThat(empty().take(1)).isSameAs(empty()); } } ``` ```java // PriorityQueue (current) @Override public PriorityQueue<T> take(int n) { return ofAll(comparator, iterator().take(n)); } // PriorityQueue (time and mem saver) @Override public PriorityQueue<T> take(int n) { if (n <= 0) { return this; } else if (n >= size()) { return empty(comparator()); } else { return ofAll(comparator, iterator().take(n)); } } ``` This was only an example. We have many similar occurrences.