docs: def build(self):
          """Builds a Solenoid using the defined attributes."""
          self._molecules = []
          if self.handedness == 'l':
              handedness = -1
          else:
              handedness = 1
          rot_ang = self.rot_ang * handedness
          for i in range(self.num_of_repeats):
              dup_unit = copy.deepcopy(self.repeat_unit)
              z = (self.rise * i) * numpy.array([0, 0, 1])
              dup_unit.translate(z)
              dup_unit.rotate(rot_ang * i, [0, 0, 1])
              self.extend(dup_unit)
          self.relabel_all()
          return