public boolean apply(final T obj) {
try {
if (!this.isInitialized()) {
final ReflectionMapping mapping = ReflectionMapping.getReflectionMapping(obj);
final MappingContext mappingContext = new MappingContext(mapping);
this.expressionTree = ParserUtil.parseWhereExpression(this.query, mappingContext);
this.applyParameters(this.getExpressionTree());
this.initialized.set(true);
}