Is the request parameter actually being used somewhere in this method? It seems to be used only for validations. If we could remove it then the code would be much cleaner