public static RSConnectActionEvent DeployDocEvent(
     RenderedDocPreview params, int type, RSConnectDeploymentRecord fromPrevious) {
   return new RSConnectActionEvent(
       ACTION_TYPE_DEPLOY,
       type,
       params.getSourceFile(),
       params.getOutputFile(),
       null,
       params,
       fromPrevious);
 }
  private RSConnectActionEvent(
      int action,
      int contentType,
      String path,
      String htmlFile,
      String selfContainedDesc,
      RenderedDocPreview fromPreview,
      RSConnectDeploymentRecord fromPrevious) {
    action_ = action;
    contentType_ = contentType;
    path_ = path;
    fromPrevious_ = fromPrevious;
    docPreview_ = fromPreview;
    description_ = selfContainedDesc;

    // determine location of static content, if any
    if (htmlFile != null) htmlFile_ = htmlFile;
    else if (fromPreview != null) htmlFile_ = fromPreview.getOutputFile();
    else htmlFile_ = null;
  }