} catch (Throwable t) {
progress.exceptionOccurred(t);
String fid = feature == null ? "feature" : feature.getIdentifier().toString();
problem[0] = new IOException("Problem visiting " + fid + ":" + t, t);
} finally {
progress.progress(count / size);
}
}
});
if( problem[0] != null ){
throw problem[0];