public void takeSnapshot(String tag,String... keyspaceNames) throws IOException {
  if (operationMode == Mode.JOINING)   throw new IOException("Cannot snapshot until bootstrap completes");
  if (tag == null || tag.equals(""))   throw new IOException("You must supply a snapshot name.");
  Iterable<Keyspace> keyspaces;
  if (keyspaceNames.length == 0) {
    keyspaces=Keyspace.all();
  }
 else {
    ArrayList<Keyspace> t=new ArrayList<>(keyspaceNames.length);
    for (    String keyspaceName : keyspaceNames)     t.add(getValidKeyspace(keyspaceName));
    keyspaces=t;
  }
  for (  Keyspace keyspace : keyspaces)   if (keyspace.snapshotExists(tag))   throw new IOException("Snapshot " + tag + " already exists.");
  for (  Keyspace keyspace : keyspaces)   keyspace.snapshot(tag,null);
}

public void takeSnapshot ( String tag , String ... keyspaceNames ) throws IOException { if ( operationMode == Mode . JOINING ) throw new IOException ( "Cannot snapshot until bootstrap completes" ) ; if ( tag == null || tag . equals ( "" ) ) throw new IOException ( "You must supply a snapshot name." ) ; Iterable < Keyspace > keyspaces ; if ( keyspaceNames . length == 0 ) { keyspaces = Keyspace . all ( ) ; } else { ArrayList < Keyspace > t = new ArrayList < > ( keyspaceNames . length ) ; for ( String keyspaceName : keyspaceNames ) t . add ( getValidKeyspace ( keyspaceName ) ) ; keyspaces = t ; } for ( Keyspace keyspace : keyspaces ) if ( keyspace . snapshotExists ( tag ) ) throw new IOException ( "Snapshot " + tag + " already exists." ) ; for ( Keyspace keyspace : keyspaces ) keyspace . snapshot ( tag , null ) ; }
takes the snapshot for the given keyspaces . a snapshot name must be specified .
