code: def manifest_repr(self, p_num):
          
          # Build the parameter prefix
          prefix = "p" + str(p_num) + "_"
  
          # Generate the manifest string
          manifest = prefix + "MODE=" + ("IN" if self.type == Type.FILE else "") + "\n"
          manifest += prefix + "TYPE=" + str(self.type.value) + "\n"
          if self.type == Type.FILE and len(self.choices) > 0:
              manifest += prefix + "choices=" + self._choices() + "\n"
          manifest += prefix + "default_value=" + self.default_value + "\n"
          manifest += prefix + "description=" + GPTaskSpec.manifest_escape(self.description) + "\n"
          manifest += prefix + "fileFormat=" + ';'.join(self.file_format) + "\n"
          manifest += prefix + "flag=" + self.flag + "\n"
          manifest += prefix + "name=" + self.name + "\n"
          manifest += prefix + "numValues=" + self._num_values() + "\n"
          manifest += prefix + "optional=" + str(self.optional.value) + "\n"
          manifest += prefix + "prefix=" + (self.flag if self.prefix_when_specified else "") + "\n"
          manifest += prefix + "prefix_when_specified=" + (self.flag if self.prefix_when_specified else "") + "\n"
          manifest += prefix + "type=" + self._java_type() + "\n"
          manifest += prefix + "value=" + (self._choices() if self.type != Type.FILE and len(self.choices) > 0 else "") + "\n"
  
          # Return the manifest string
          return manifest
docs: Builds a manifest string representation of the parameters and returns it
          :param p_num: int
          :return: string