static ListContext withParent(ListContext parent) { ListContext context = new ListContext(); if (parent != null) { context.parent = parent; context.level = parent.level + 1; } else { context.level = 1; } return context; }