public static List<SimpleFeature> fromFeatureLayer(String mapName) throws IOException { ILayer selectedLayer = ApplicationGIS.getActiveMap().getEditManager().getSelectedLayer(); FeatureSource<SimpleFeatureType, SimpleFeature> featureSource = selectedLayer.getResource(FeatureSource.class, new NullProgressMonitor()); FeatureCollection<SimpleFeatureType, SimpleFeature> featureCollection = null; Filter filter = selectedLayer.getFilter(); if (filter.equals(Filter.EXCLUDE)) { featureCollection = featureSource.getFeatures(); } else { featureCollection = featureSource.getFeatures(filter); } List<SimpleFeature> featuresList = new ArrayList<SimpleFeature>(); FeatureIterator<SimpleFeature> featureIterator = featureCollection.features(); while (featureIterator.hasNext()) { SimpleFeature feature = featureIterator.next(); featuresList.add(feature); } featureCollection.close(featureIterator); return featuresList; }