private void findDatasets( final String name, final List<ILazyDataset> list, final HDF5NodeLink link) { HDF5Node n = null; if (link.isDestinationASymLink()) { if (link.getName().equals(name)) {} HDF5SymLink slink = (HDF5SymLink) link.getDestination(); if (slink.isDataset()) n = slink.getNode(); } else { n = link.getDestination(); } if (n == null) return; if (n instanceof HDF5Group) { for (HDF5NodeLink l : (HDF5Group) n) findDatasets(name, list, l); } else if (n instanceof HDF5Dataset) { if (link.getName().equals(name)) { ILazyDataset dataset = ((HDF5Dataset) n).getDataset(); if (!list.contains(dataset)) list.add(dataset); } } }