code: private Observable<ProposedBucketConfigContext> buildRefreshFallbackSequence(List<NodeInfo> nodeInfos, String bucketName) {
          Observable<ProposedBucketConfigContext> failbackSequence = null;
          for (final NodeInfo nodeInfo : nodeInfos) {
              if (!isValidCarrierNode(environment.sslEnabled(), nodeInfo)) {
                  continue;
              }
  
              if (failbackSequence == null) {
                  failbackSequence = refreshAgainstNode(bucketName, nodeInfo.hostname());
              } else {
                  failbackSequence = failbackSequence.onErrorResumeNext(
                          refreshAgainstNode(bucketName, nodeInfo.hostname())
                  );
              }
          }
          if (failbackSequence == null) {
              LOGGER.debug("Could not build refresh sequence, node list is empty - ignoring attempt.");
              return Observable.empty();
          }
          return failbackSequence;
      }
docs: Helper method which builds the refresh fallback sequence based on the node list.
  
  @param nodeInfos the list of node infos.
  @param bucketName the name of the bucket.
  @return an observable containing flatMapped failback sequences.