private void addElements(List<OSXHIDElement> elements, Map properties) { Map[] elements_properties = (Map[]) properties.get(kIOHIDElementKey); if (elements_properties == null) return; for (Map element_property : elements_properties) { OSXHIDElement element = createElementFromElementProperties(element_property); if (element != null) { elements.add(element); } addElements(elements, element_property); } }
public final List getElements() { List<OSXHIDElement> elements = new ArrayList<>(); addElements(elements, properties); return elements; }