class 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;
  }

  public  JavaDCRInstrumenter(DCRContext context);

}