def parameter(parameter_name, parameter_value = nil)
      if @input_parameters.key?(parameter_name)
        @input_parameters[parameter_name].set parameter_value
      else
        $stderr.puts "\nAttempted to set a value for a non-existent WorkflowParameter!"
        $stderr.puts "It appears that there is no parameter \"#{parameter}\"."
        $stderr.puts "Valid parameter names are: #{@input_parameters.keys.join(', ')}"
        $stderr.puts ''
        fail(IOError, ERR[:no_such_parameter])
      end unless parameter_value.nil?
      @input_parameters[parameter_name]
    end
def parameter(parameter_name, parameter_value = nil)
      if @input_parameters.key?(parameter_name)
        @input_parameters[parameter_name].set parameter_value
      else
        $stderr.puts "\nAttempted to set a value for a non-existent WorkflowParameter!"
        $stderr.puts "It appears that there is no parameter \"#{parameter}\"."
        $stderr.puts "Valid parameter names are: #{@input_parameters.keys.join(', ')}"
        $stderr.puts ''
        fail(IOError, ERR[:no_such_parameter])
      end unless parameter_value.nil?
      @input_parameters[parameter_name]
    end
Get the parameter object named. If a value is provided, set the value
 and return the parameter object.

 To get a parameter value, use parameter(parameter_name).value

 @param [String] parameter_name Name of the parameter to get
 @param [Object, nil] parameter_value Optional value for parameter.
 @return [VcoWorkflows::WorkflowParameter] The resulting WorkflowParameter