code: def _build_hexameter_template(self, stress_positions: str) -> str:
          
          hexameter = []
          for binary in stress_positions:
              if binary == "1":
                  hexameter.append(self.constants.SPONDEE)
              if binary == "0":
                  hexameter.append(self.constants.DACTYL)
          hexameter.append(self.constants.HEXAMETER_ENDING)
          return "".join(hexameter)
docs: Build a hexameter scansion template from string of 5 binary numbers;
          NOTE: Traditionally the fifth foot is dactyl and spondee substitution is rare,
          however since it *is* a possible combination, we include it here.
  
          :param stress_positions: 5 binary integers, indicating whether foot is dactyl or spondee
          :return: a valid hexameter scansion template, a string representing stressed and
          unstresssed syllables with the optional terminal ending.
  
          >>> print(MetricalValidator()._build_hexameter_template("01010"))
          -UU---UU---UU-X