code: @Override
      public final void createIndex(ClusterName targetCluster, IndexMetadata indexMetadata) throws UnsupportedException,
  
              ExecutionException {
  
          try {
              connectionHandler.startJob(targetCluster.getName());
  
              if (logger.isDebugEnabled()) {
                  logger.debug("Creating index [" + indexMetadata.getName().getName() + "] in cluster [" + targetCluster
                          .getName() + "]");
              }
  
              createIndex(indexMetadata, connectionHandler.getConnection(targetCluster.getName()));
  
              if (logger.isDebugEnabled()) {
                  logger.debug(
                          "Index [" + indexMetadata.getName().getName() + "] has been created successfully in cluster ["
                                  + targetCluster.getName() + "]");
              }
  
          } finally {
              connectionHandler.endJob(targetCluster.getName());
          }
      }
docs: This method creates an index.
  
  @param targetCluster the target cluster where the index will be created.
  @param indexMetadata the index metainformation.
  @throws UnsupportedException if an operation is not supported.
  @throws ExecutionException   if an error happens.