public String[] toPropertyArray() { List<String> propertyNames = new ArrayList<String>(); for (Property property : properties) { String[] nested = property.toPropertyArray(); propertyNames.addAll(Arrays.asList(nested)); } return propertyNames.toArray(new String[propertyNames.size()]); }