@Override public String toString() { List<E> e = getDirect(); if (e == null) { return getValueObject().getName() + " null"; } // Janky, but keep ListProperty.toString from being huge and accidentally ruining perf String s = getValueObject().getName() + " ["; for (int i = 0; i < e.size() && i < 20; i++) { s += ObjectUtils.toStr(e.get(i), "null"); if (i != e.size() - 1) { s += ", "; } } if (e.size() > 20) { s += "..."; } s += "]"; return s; }