}
private NamedList<Object> ensureSorting(String fieldSort,
NamedList<Object> values, ExtendedPropertyDefinition fieldPropertyType,
String facetValueRenderer, Locale locale) {
ChoiceListRenderer renderer = !StringUtils.isEmpty(facetValueRenderer) ? ChoiceListRendererService
.getInstance().getRenderers().get(facetValueRenderer)
: null;
if (values.size() > 1
&& (fieldSort != null && (fieldSort.equals("false") || fieldSort.equals("index")))
&& renderer != null) {
try {
SortedMap<String, Integer> sortedLabels = new TreeMap<String, Integer>();
int i = 0;
for (Map.Entry<String, Object> facetValue : values) {
sortedLabels.put(renderer.getStringRendering(locale,
fieldPropertyType, facetValue.getKey()), i++);
}
NamedList<Object> sortedValues = new NamedList<Object>();
for (Integer index : sortedLabels.values()) {
sortedValues.add(values.getName(index), values.getVal(index));