code: def append_transformation(self, transformation, extend_collection=False,
                                clear_redo=True):
          
          if self.ncores and transformation.use_multiprocessing:
              p = Pool(self.ncores)
              # need to condense arguments into single tuple to use map
              z = map(
                  lambda x: (x, transformation, extend_collection, clear_redo),
                  self.transformed_structures)
              new_tstructs = p.map(_apply_transformation, z, 1)
              self.transformed_structures = []
              for ts in new_tstructs:
                  self.transformed_structures.extend(ts)
          else:
              new_structures = []
              for x in self.transformed_structures:
                  new = x.append_transformation(transformation,
                                                extend_collection,
                                                clear_redo=clear_redo)
                  if new is not None:
                      new_structures.extend(new)
              self.transformed_structures.extend(new_structures)
docs: Appends a transformation to all TransformedStructures.
  
          Args:
              transformation: Transformation to append
              extend_collection: Whether to use more than one output structure
                  from one-to-many transformations. extend_collection can be a
                  number, which determines the maximum branching for each
                  transformation.
              clear_redo (bool): Whether to clear the redo list. By default,
                  this is True, meaning any appends clears the history of
                  undoing. However, when using append_transformation to do a
                  redo, the redo list should not be cleared to allow multiple
                  redos.
  
          Returns:
              List of booleans corresponding to initial transformed structures
              each boolean describes whether the transformation altered the
              structure