### Question:
MarkerComparator implements Comparator<Marker> { @Override @SuppressWarnings("unchecked") public int compare(Marker m1, Marker m2) { for (FieldPartitioner field : Accessor.getDefault().getFieldPartitioners(strategy)) { Object m1Value = m1.valueFor(field); Object m2Value = m2.valueFor(field); if (m1Value == null) { if (m2Value != null) { throw new IllegalStateException("Incomparable"); } } else if (m2Value == null) { throw new IllegalStateException("Incomparable"); } else { int cmp = field.compare(m1Value, m2Value); if (cmp != 0) { return cmp; } } } return 0; } MarkerComparator(PartitionStrategy strategy); @SuppressWarnings("unchecked") boolean contains(Marker container, Marker test); @Override @SuppressWarnings("unchecked") int compare(Marker m1, Marker m2); @SuppressWarnings("unchecked") int rightCompare(Marker m1, Marker m2); @SuppressWarnings("unchecked") int leftCompare(Marker m1, Marker m2); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test(expected=IllegalStateException.class) public void testContainedStateException() { comparator.compare(OCT, OCT_12); }