code: function() {
  			var parameters = [];
  			this.forEach(function(parm) {
  				var newParm = new CommandParameter(parm.name, parm.type, parm.label, parm.value, parm.lines, parm.eventListeners, parm.validator);
  				parameters.push(newParm);
  			});
  			var copy = new ParametersDescription(parameters, this._options, this.getParameters);
  			// this value may have changed since the options
  			copy.clientCollect = this.clientCollect;
  			copy.message = this.message;
  			return copy;
  			
  		 }
docs: Make a copy of this description.  Used for collecting values when a client doesn't want
  the values to be persisted across different objects.