} catch (InterruptedException ex) {
Thread.currentThread().interrupt();
throw new RuntimeException("The thread was interrupted before necessary initialization was completed.");
}
// First we check if this view has been initialized:
View view = viewMap.get(viewID);
if (view == null) {
// The view has not been initialized. Make an attempt to initialize the view now.
view = initializeView(viewID);
if (view == null) {
throw new RuntimeException("Unknown view ID: " + viewID);