def new_scope(names)
      values = names.collect { |n| self[n] }
      self.class.new(names, values, self)
    end
def new_scope(names)
      values = names.collect { |n| self[n] }
      self.class.new(names, values, self)
    end
Create a TaskArgument object with a list of named arguments
 (given by :names) and a set of associated values (given by
 :values).  :parent is the parent argument object.
 Create a new argument scope using the prerequisite argument
 names.