private void writeMetadataElement(int locationID, MetadataElement element) throws IOException { int groupID = createH5G(locationID, element.getName()); try { for (int i = 0; i < element.getNumAttributes(); i++) { MetadataAttribute attribute = element.getAttributeAt(i); writeMetadataAttribute(groupID, attribute); } for (int i = 0; i < element.getNumElements(); i++) { MetadataElement subElement = element.getElementAt(i); writeMetadataElement(groupID, subElement); } } catch (IOException e) { throw e; } finally { closeH5G(groupID); } }