types = new Class[] { Configuration.class, TaskAttemptID.class, RecordWriter.class, OutputCommitter.class,
StatusReporter.class };
args = new Object[] { conf, new TaskAttemptID(), null, null, null };
factory.setSuperclass(superType);
}
factory.setFilter(new MethodFilter() {
@Override
public boolean isHandled(Method m) {
String name = m.getName();
return "getConfiguration".equals(name) || "getCounter".equals(name) || "progress".equals(name);
}