@Override public String getName() { if ( name != null ) { return name; } StringBuilder builder = new StringBuilder(); if ( categoryCombo == null || categoryCombo.getCategories().isEmpty() ) { return uid; } List<Category> categories = categoryCombo.getCategories(); for ( Category category : categories ) { List<CategoryOption> options = category.getCategoryOptions(); optionLoop: for ( CategoryOption option : categoryOptions ) { if ( options.contains( option ) ) { builder.append( option.getDisplayName() ).append( ", " ); continue optionLoop; } } } builder.delete( Math.max( builder.length() - 2, 0 ), builder.length() ); return StringUtils.substring( builder.toString(), 0, 255 ); }