if (filterRegistry == null) {
filterRegistry = createFilterRegistryForType(parsingResult.getTargetEntityMetadata());
filtersByType.put(parsingResult.getTargetEntityName(), filterRegistry);
}
return filterRegistry.addFilter(normalizedFilter, parsingResult.getProjections(), callback);
} finally {
write.unlock();
}
}