class_docstr: A Barrier step to be used in a minibatch sequential pipeline. It forces all the
  data inputs to get to the barrier in a sub pipeline before going through to the next sub-pipeline.
  
  .. code-block:: python
  
      p = MiniBatchSequentialPipeline([
          SomeStep(),
          SomeStep(),
          Barrier(), # must be a concrete Barrier ex: Joiner()
          SomeStep(),
          SomeStep(),
          Barrier(), # must be a concrete Barrier ex: Joiner()
      ], batch_size=10)
  
  
  .. seealso::
      :class:`~neuraxle.base.NonTransformableMixin`,
      :class:`~neuraxle.base.BaseStep`
class_docstr_tok: ["A","Barrier","step","to","be","used","in","a","minibatch","sequential","pipeline",".","It","forces","all","the","data","inputs","to","get","to","the","barrier","in","a","sub","pipeline","before","going","through","to","the","next","sub-pipeline",".","..","code-block",":",":","python","p","=","MiniBatchSequentialPipeline","(","[","SomeStep","(",")",",","SomeStep","(",")",",","Barrier","(",")",",","#","must","be","a","concrete","Barrier","ex",":","Joiner","(",")","SomeStep","(",")",",","SomeStep","(",")",",","Barrier","(",")",",","#","must","be","a","concrete","Barrier","ex",":","Joiner","(",")","]",",","batch_size=10",")","..","seealso",":",":",":","class",":","`","~neuraxle.base.NonTransformableMixin","`",",",":","class",":","`","~neuraxle.base.BaseStep","`"]
docstr: Execute the given pipeline :func:`~neuraxle.pipeline.Pipeline.fit_transform` with the given data container, and execution context.
  :param step: truncable steps to execute
  :param data_container: data container
  :param context: execution context
  :return: (fitted step, transformed data container)
docstr_tok: ["Execute","the","given","pipeline",":","func",":","`","~neuraxle.pipeline.Pipeline.fit_transform","`","with","the","given","data","container",",","and","execution","context",".",":","param","step",":","truncable","steps","to","execute",":","param","data_container",":","data","container",":","param","context",":","execution","context",":","return",":","(","fitted","step",",","transformed","data","container",")"]
code: def join_fit_transform(
      self, step: Pipeline, data_container: DACT, context: CX
  ) -> Tuple["Any", DACT]:
      """
      Execute the given pipeline :func:`~neuraxle.pipeline.Pipeline.fit_transform` with the given data container, and execution context.
      :param step: truncable steps to execute
      :param data_container: data container
      :param context: execution context
      :return: (fitted step, transformed data container)
      """
      raise NotImplementedError()
  
imports: import warnings
  from abc import ABC, abstractmethod
  from typing import Any, List, Tuple, Union
  from neuraxle.base import BaseStep
  from neuraxle.base import ExecutionContext
  from neuraxle.base import ExecutionMode, ForceHandleMixin, Identity, NamedStepsList, TruncableSteps, _CustomHandlerMethods, _TruncableServiceWithBodyMixin
  from neuraxle.data_container import DataContainer
  from neuraxle.data_container import ListDataContainer, StripAbsentValues, ZipDataContainer
  from neuraxle.logging.warnings import warn_deprecated_arg
label_desc: Use image node_id 2 for calling the Barrier obj's underlying member method code with example usage: obj.join_fit_transform(step, data_container, context) without return types