@Override public String[] unparse(LoadContext context, KitTable kitTable) { StringBuilder sb = new StringBuilder(); List<TableEntry> list = kitTable.getList(); if (list.isEmpty()) { return null; } boolean first = true; for (TableEntry rl : list) { if (!first) { sb.append(Constants.PIPE); } Collection<String> unparse = context.unparse(rl.gear); if (unparse.size() == 1) { sb.append(unparse.iterator().next()); } else { for (String s : unparse) { sb.append('['); sb.append(s); sb.append(']'); } } sb.append(Constants.PIPE); sb.append(rl.lowRange.toString()); if (!rl.lowRange.equals(rl.highRange)) { sb.append(','); sb.append(rl.highRange.toString()); } first = false; } return new String[] {sb.toString()}; }