code: def overwrite_color(self, string, color, prefix=False, reset=False):
          
          if isinstance(color, int):
              color = self.prepare_color(color)
          # end if
          prefix = color if prefix else ""
          if isinstance(reset, int):
              reset = self.prepare_color(reset)
          elif isinstance(reset, bool):
              reset = self.formatter.color_off if reset else ""
          # end if
          return (
              prefix +
              string.replace(self.formatter.color_off, self.formatter.color_off+color).replace(self.formatter.all_off, self.formatter.all_off + color) +
              reset
          )
docs: :param string: input
          :param color: new color
          :param prefix: if it also should start the color to at the beginning.  
          :param reset:  if it also should end the color at the ending.  
          :type  reset: bool | int | str
          :return: