code: def build(self):
          
          for cls, data_list in self._items.items():
              # Some variables are not concatenated. They are specified
              # in `allow_list`.
              data = _accumulate(data_list, cls.allow_list)
              box_index = data.pop('box_index')
              visual = cls()
              self.add_visual(visual)
              visual.set_data(**data)
              # NOTE: visual.program.__contains__ is implemented in vispy master
              # so we can replace this with `if 'a_box_index' in visual.program`
              # after the next VisPy release.
              if 'a_box_index' in visual.program._code_variables:
                  visual.program['a_box_index'] = box_index.astype(np.float32)
          # TODO: refactor this when there is the possibility to update existing
          # visuals without recreating the whole scene.
          if self.lasso:
              self.lasso.create_visual()
          self.update()
docs: Build all added items.
  
          Visuals are created, added, and built. The `set_data()` methods can
          be called afterwards.