Minor: Use `Parameter& parameter` for input parameters that are not subject to change (note you might need to use const_iterator later). 

Also I believe the indentation of the rest of the parameters has slipped a bit.