/**
  * Invoke this method to unregister a view hierarchy.
  *
  * @param view A view that belongs to the view hierarchy/window to unregister
  * @see #addWindow(View, String)
  */
 public void removeWindow(View view) {
   mWindowsLock.writeLock().lock();
   try {
     mWindows.remove(view.getRootView());
   } finally {
     mWindowsLock.writeLock().unlock();
   }
   fireWindowsChangedEvent();
 }
 /**
  * Invoke this method to register a new view hierarchy.
  *
  * @param view A view that belongs to the view hierarchy/window to register
  * @name name The name of the view hierarchy/window to register
  * @see #removeWindow(View)
  */
 public void addWindow(View view, String name) {
   mWindowsLock.writeLock().lock();
   try {
     mWindows.put(view.getRootView(), name);
   } finally {
     mWindowsLock.writeLock().unlock();
   }
   fireWindowsChangedEvent();
 }