init();
<BUG>String destination = removeStorageSystemFromPath(snapshotFinalDestination);
transferFile(false, destination, "metadata-" + snapshotName, snapshotWorkingLocation);</BUG>
transferFile(false, destination, "snapshot-" + snapshotName, snapshotWorkingLocation);
<BUG>transferFile(false, destination, "index", snapshotWorkingLocation);
for(int shard = 0; shard < numShards; shard++) {</BUG>
String indexDestination = destination + BaseESReducer.DIR_SEPARATOR + "indices" + BaseESReducer.DIR_SEPARATOR + index + BaseESReducer.DIR_SEPARATOR  ;
if(!checkExists(indexDestination, shard)) {
String shardSource = snapshotWorkingLocation + "indices" + BaseESReducer.DIR_SEPARATOR + index + BaseESReducer.DIR_SEPARATOR + shard;
transferDir(indexDestination, shardSource, new Integer(shard).toString());

init();
String destination = removeStorageSystemFromPath(snapshotFinalDestination);
if(includeRootManifest) {
transferFile(false, destination, "metadata-" + snapshotName, snapshotWorkingLocation);
transferFile(false, destination, "snapshot-" + snapshotName, snapshotWorkingLocation);
transferFile(false, destination, "index", snapshotWorkingLocation);
}
for(int shard = 0; shard < numShards; shard++) {
String indexDestination = destination + BaseESReducer.DIR_SEPARATOR + "indices" + BaseESReducer.DIR_SEPARATOR + index + BaseESReducer.DIR_SEPARATOR  ;
if(!checkExists(indexDestination, shard)) {
String shardSource = snapshotWorkingLocation + "indices" + BaseESReducer.DIR_SEPARATOR + index + BaseESReducer.DIR_SEPARATOR + shard;
transferDir(indexDestination, shardSource, new Integer(shard).toString());
