return (RecordLocationImpl)result.get();
} catch (InterruptedException e) {
throw (IOException)new IOException("Interrupted.").initCause(e);
} catch (InvocationTargetException e) {
if( e.getTargetException() instanceof InvalidRecordLocationException)
throw new InvalidRecordLocationException(e.getTargetException().getMessage(),e.getTargetException());
if( e.getTargetException() instanceof IOException)
throw (IOException)new IOException(e.getTargetException().getMessage()).initCause(e.getTargetException());
throw (IOException)new IOException("Unexpected Exception: ").initCause(e.getTargetException());
}
}