### Question:
RangeMatcher implements Matcher<E> { public RangeMatcher(D start, D end) { this(start, end, null); } RangeMatcher(D start, D end);  RangeMatcher(D start, D end, Filterator<D,E> filterator); @Override boolean matches(E item); @Override String toString();  }### Answer:
@Test public void testRangeMatcher() { final RangeMatcher<String, String> rm = new RangeMatcher<>("bad", "dog"); assertFalse(rm.matches("a")); assertFalse(rm.matches("b")); assertFalse(rm.matches("babe")); assertTrue(rm.matches("badge")); assertTrue(rm.matches("c")); assertTrue(rm.matches("cat")); assertTrue(rm.matches("d")); assertTrue(rm.matches("dodge")); assertFalse(rm.matches("dogwood")); assertFalse(rm.matches("dolphin")); assertFalse(rm.matches("e")); }