code: public static Cluster updateCluster(Cluster currentCluster, List<Node> updatedNodeList) {
          List<Node> newNodeList = new ArrayList<Node>(updatedNodeList);
          for(Node currentNode: currentCluster.getNodes()) {
              if(!updatedNodeList.contains(currentNode))
                  newNodeList.add(currentNode);
          }
  
          Collections.sort(newNodeList);
          return new Cluster(currentCluster.getName(),
                             newNodeList,
                             Lists.newArrayList(currentCluster.getZones()));
      }
docs: Concatenates the list of current nodes in the given cluster with the new
  nodes provided and returns an updated cluster metadata. <br>
  If the nodes being updated already exist in the current metadata, we take
  the updated ones
  
  @param currentCluster The current cluster metadata
  @param updatedNodeList The list of new nodes to be added
  @return New cluster metadata containing both the sets of nodes