void (final ArrayList<Property> result, final Property property) { result.add(property); if (isPropertyExpanded(property)) { for(Property child: getPropChildren(property)) { addProperty(result, child); } } }