if (Utils.containsQueryExpression(keyObj)) {
if (keyObj.keySet().size() != 1) {
throw new UnsupportedOperationException("illegal query key: " + keyValue);
}
String expression = keyObj.keySet().iterator().next();
if (expression.startsWith("$")) {
return getPositionsForExpression(keyObj, expression);
}
}
} else if (keyValue instanceof Pattern) {