private String generateGradient(List<MarkerType> markers) {
   Set<String> colors = new LinkedHashSet<String>();
   Collections.sort(markers);
   for (MarkerType marker : markers)
     colors.add(styleProvider.getStyle(marker).getBackgroundColor());
   return gradientClassGenerator.getClassName(colors);
 }
  private String getMarkerHighlightClass(UICode row) {
    // no highlight necessary
    if (highlightedMarkers.isEmpty()) return null;

    List<MarkerType> markers = markerUtil.resolve(row.getAttributes());

    // no marker to highlight
    if (markers.isEmpty()) return null;

    markers.retainAll(highlightedMarkers);

    if (markers.size() == 1) return styleProvider.getStyle(markers.get(0)).getHighlightStyleName();

    if (markers.size() > 1) return generateGradient(markers);

    return null;
  }