### Question:
JavaDCRInstrumenter extends AbstractDCRInstrumenter { @Override protected boolean instrument(Object target, Recorder recorder, InstrumentationFilter filter) throws NonInstrumentableTypeException { if (target instanceof Class<?>) { instrumentClass((Class<?>)target, recorder, filter); } else if (target != null) { instrumentInstance(target, recorder, filter); } return true; } JavaDCRInstrumenter(DCRContext context); @Override String getDescription();  }### Answer:
@Test public void testSelectivelyInstrumentInstance() throws Exception { RecorderLocatorAccess.clearRecorders(); final MyClass c1 = new MyExtendedClass(); assertEquals(0, c1.getA()); final InstrumentationFilter filter = new InstrumentationFilter() { public boolean matches(Object item) { return ((Method)item).getName().equals("getA"); } }; m_instrumenter.instrument(null, m_recorder, c1, filter); MyClass.staticSix(); assertEquals(0, c1.getA()); assertEquals(0, c1.getB()); verify(m_recorder).start(); verify(m_recorder).end(true); final MyClass c2 = new MyClass(); assertEquals(0, c2.getA()); verifyNoMoreInteractions(m_recorder); }