code: public boolean canUpdateServer(ServerIdentity server) {
          if (!serverGroupName.equals(server.getServerGroupName()) || !servers.contains(server)) {
              throw DomainControllerLogger.HOST_CONTROLLER_LOGGER.unknownServer(server);
          }
  
          if (!parent.canChildProceed())
              return false;
  
          synchronized (this) {
              return failureCount <= maxFailed;
          }
      }
docs: Gets whether the given server can be updated.
  
  @param server the id of the server. Cannot be <code>null</code>
  
  @return <code>true</code> if the server can be updated; <code>false</code>
  if the update should be cancelled
  
  @throws IllegalStateException if this policy is not expecting a request
  to update the given server