@Override
public FileSystem newFileSystem( final URI uri,
final Map<String, ?> env ) throws IllegalArgumentException, FileSystemAlreadyExistsException, ProviderNotFoundException, IOException, SecurityException {
try {
final FileSystem fs = FileSystems.newFileSystem( uri, env );
return registerFS( fs );
} catch ( final FileSystemAlreadyExistsException ex ) {
registerFS( FileSystems.getFileSystem( uri ) );
throw ex;
}