in entity-store/src/main/java/jetbrains/exodus/entitystore/iterate/EntityIterableBase.java [635:680]
private static void getHumanReadablePresentation(StringBuilder presentation, String[] types, int[] pos, String indent) {
int type = Integer.parseInt(types[pos[0]]);
pos[0]++;
if (type < 0 || type >= children.length) {
throw new RuntimeException("New EntityIterable added: " + type);
}
presentation.append(indent).append(EntityIterableType.values()[type].getDescription());
for (int i = 0; i < fields[type]; i++) {
presentation.append(' ').append(types[pos[0]]);
if (type == EntityIterableType.SINGLE_ENTITY.getType() && "null".equals(types[pos[0]])) {
break;
}
pos[0]++;
}
StringBuilder tmp = new StringBuilder();
for (int i = 0; i < children[type]; i++) {
tmp.append('\n');
getHumanReadablePresentation(tmp, types, pos, indent + INDENT);
}
if (type == EntityIterableType.SELECT_DISTINCT.getType() ||
type == EntityIterableType.SELECTMANY_DISTINCT.getType() ||
type == EntityIterableType.SORTING.getType()) {
presentation.append(' ').append(types[pos[0]]);
pos[0]++;
}
presentation.append(tmp);
if (type == EntityIterableType.MERGE_SORTED.getType()) {
int count = Integer.parseInt(types[pos[0]]);
presentation.append(' ').append(count);
pos[0]++;
for (int i = 0; i < count; i++) {
pos[0]++;
presentation.append('\n');
getHumanReadablePresentation(presentation, types, pos, indent + INDENT);
}
}
if (type == EntityIterableType.ENTITY_FROM_LINKS_SET.getType()) {
int count = Integer.parseInt(types[pos[0]]);
presentation.append(" ").append(count).append(" links:");
pos[0]++;
for (int i = 0; i < count; i++) {
presentation.append(' ').append(types[pos[0]]);
pos[0]++;
}
}
}