@Override
  public Object clone() throws CloneNotSupportedException {
    FileSinkDesc ret = new FileSinkDesc(dirName, tableInfo, compressed, destTableId, multiFileSpray, canBeMerged,
        numFiles, totalFiles, partitionCols, dpCtx, destPath, isMmCtas, isInsertOverwrite, isQuery,
        isCTASorCM, isDirectInsert, acidOperation, deleteOfSplitUpdate);
    ret.setCompressCodec(compressCodec);
    ret.setCompressType(compressType);
    ret.setGatherStats(gatherStats);
    ret.setStaticSpec(staticSpec);
    ret.setStatsAggPrefix(statsKeyPref);
    ret.setLinkedFileSink(linkedFileSink);
    ret.setLinkedFileSinkDesc(linkedFileSinkDesc);
    ret.setStatsReliable(statsReliable);
    ret.setDpSortState(dpSortState);
    ret.setWriteType(writeType);
    ret.setTableWriteId(tableWriteId);
    ret.setStatementId(statementId);
    ret.setStatsTmpDir(statsTmpDir);
    ret.setIsMerge(isMerge);
    ret.setFilesToFetch(filesToFetch);
    ret.setIsQuery(isQuery);
    ret.setIsCTASorCM(isCTASorCM);
    ret.setIsDirectInsert(isDirectInsert);
    ret.setAcidOperation(acidOperation);
    ret.setMoveTaskId(moveTaskId);
    return ret;
  }
@param destPath - the final destination for data
ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java