public boolean needsRefresh() {
    Collection<LoadBalancerDto> loadBalancerDtos = loadBalancerTable.getItemIds();
    for (LoadBalancerDto dto : loadBalancerDtos) {
      LoadBalancerStatus status = LoadBalancerStatus.fromStatus(dto.getLoadBalancer().getStatus());
      if (status == LoadBalancerStatus.STARTING
          || status == LoadBalancerStatus.STOPPING
          || status == LoadBalancerStatus.CONFIGURING) {
        return true;
      }

      for (LoadBalancerListener listener : dto.getLoadBalancerListeners()) {
        LoadBalancerListenerStatus status2 =
            LoadBalancerListenerStatus.fromStatus(listener.getStatus());
        if (status2 == LoadBalancerListenerStatus.STARTING
            || status2 == LoadBalancerListenerStatus.STOPPING
            || status2 == LoadBalancerListenerStatus.CONFIGURING) {
          return true;
        }
      }

      for (LoadBalancerInstance lbInstance : dto.getLoadBalancerInstances()) {
        LoadBalancerInstanceStatus status2 =
            LoadBalancerInstanceStatus.fromStatus(lbInstance.getStatus());
        if (status2 == LoadBalancerInstanceStatus.STARTING
            || status2 == LoadBalancerInstanceStatus.STOPPING
            || status2 == LoadBalancerInstanceStatus.CONFIGURING) {
          return true;
        }
      }
    }

    return false;
  }