private void onViewChange(View view)
private boolean onViewChange(View view)
   private void onViewChange(View view)   {      boolean amINewCoordinator = false;      synchronized (blockMutex)      {    	 if (receivedFirstView)    	 {    		 receivedMoreThanOneView = true;    	 }         if (!receivedFirstView)         {            isBlockState = false;            blockMutex.notifyAll();            receivedFirstView = true;         }      }      synchronized (sharedLock)      {         suspected.retainAll(view.getMembers());         currentView = view;                  amINewCoordinator = flushCaller != null && !view.getMembers().contains(flushCaller)               && localAddress.equals(view.getMembers().get(0));      }            //If coordinator leaves, its STOP FLUSH message will be discarded by      //other members at NAKACK layer. Remaining members will be hung, waiting      //for STOP_FLUSH message. If I am new coordinator I will complete the      //FLUSH and send STOP_FLUSH on flush callers behalf.      if (amINewCoordinator)      {         if (log.isDebugEnabled())            log.debug("Coordinator left, " + localAddress + " will complete flush");         onResume();      }            if (log.isDebugEnabled())         log.debug("Installing view at  " + localAddress + " view is " + currentView);   }