code: def _subdivide_context(sequential, branch_count, join_function, name):
    
    with sequential.g.as_default(), scopes.var_and_name_scope((name, None)):
      branches = []
      for i in xrange(branch_count):
        branches.append(SequentialLayerBuilder(copy=sequential)
                        .with_name('l%d' % i))
      yield tuple(branches)
      layers = [b.as_layer() for b in branches]
      sequential.join(layers, include_self=False, join_function=join_function)
docs: Creates a context so that branches/joins can be done using 'with'.