@Override public void close(final boolean fileOnly) throws IOException { for (final String name : mappedFiles) { final IRandomAccess handle = locationService.getMappedFile(name); locationService.mapFile(name, null); if (handle != null) { handle.close(); } } mappedFiles.clear(); super.close(fileOnly); if (metadata != null) metadata.close(fileOnly); if (!fileOnly) metadata = null; mappedFiles = new ArrayList<String>(); }