public InterceptFieldClassFileTransformer(List<String> entities) { final List<String> copyEntities = new ArrayList<String>( entities.size() ); copyEntities.addAll( entities ); classTransformer = Environment.getBytecodeProvider().getTransformer( //TODO change it to a static class to make it faster? new ClassFilter() { public boolean shouldInstrumentClass(String className) { return copyEntities.contains( className ); } }, //TODO change it to a static class to make it faster? new FieldFilter() { public boolean shouldInstrumentField(String className, String fieldName) { return true; } public boolean shouldTransformFieldAccess( String transformingClassName, String fieldOwnerClassName, String fieldName ) { return true; } } ); }