code: @Override
    protected void publishData(WorkUnitState state, int branchId, boolean publishSingleTaskData,
        Set<Path> writerOutputPathsMoved) throws IOException {
      Path publisherOutputDir = getPublisherOutputDir(state, branchId);
      if (!this.publisherFileSystemByBranches.get(branchId).exists(publisherOutputDir)) {
        WriterUtils.mkdirsWithRecursivePermissionWithRetry(this.publisherFileSystemByBranches.get(branchId),
            publisherOutputDir, this.permissions.get(branchId), this.retrierConfig);
      }
      super.publishData(state, branchId, publishSingleTaskData, writerOutputPathsMoved);
    }
docs: Make sure directory exists before running {@link BaseDataPublisher#publishData(WorkUnitState, int, boolean, Set)}
  so that tables will be moved one at a time rather than all at once