code: def generate(self,*args,**kwargs):
          
          constraints = []
          remove_dimensions = kwargs.pop('remove_dimensions',False)
          resolution = kwargs.get('resolution',None) 
          bins = kwargs.get('bins',None) 
          if len(args) == 0:
              generator_indizes = range(1,len(self.labels))
          else:
              if kwargs.get("fuzzy",False):
                  generator_indizes = [kk for k in args for kk in self.find_labels('~'+k)]
              else:
                  generator_indizes = [kk for k in args for kk in self.find_labels(k)]
          if kwargs.get("reversed",True):
              generator_indizes = list(reversed(generator_indizes))
          kwargs.pop('reversed',None)
          kwargs.pop('fuzzy',None)
          generator_ranges = cartesian([self.constraint_range_dict(i,**kwargs) for i in generator_indizes])
          remaining_label_dimensions = [i for i,l in enumerate(self.labels) if i not in generator_indizes]
          for generator_t in generator_ranges:
              constraints = {}
              for ri, i in enumerate(generator_indizes):
                  constraints.update(generator_t[ri])
              yield self(remove_dimensions=remove_dimensions,**constraints)
docs: Creates an iterator over one of the index dimensions of the object.
  
          Example::
  
              for l in s.generate('layer',remove_dimensions=False,resolution=2):
                  # taking two layers at a time
                  print l
  
              remove_dimensions: False
                  Whether the labels that are used for generation should be removed from the generated objects.
              resolution:     None
                  If set to an integer, the dimension used for generation will be split into parts of size `resolution`.
              bins:           None
                  If set to an integer, the dimension used for generation will be split into `bins` many, equal parts.
              reversed:       True
                  Whether argument list should be reversed, such that the first argument is rotated first.
              fuzzy:
                  Whether to match the label perfectly or use fuzzy search. Can also be specified by
                  prepending the label name with a '~'