public List<Row> collectRowsAndSetOwner(List<Row> list, Row row, boolean childrenOnly) {
		if (!childrenOnly) {
			list.add(row);
			row.setOwner(this);
		}
		if (row.isOpen() && row.hasChildren()) {
			for (Row row2 : row.getChildren()) {
				collectRowsAndSetOwner(list, row2, false);
			}
		}
		return list;
	}