Enrique, I didn't understand what you mean with:
Programs can detect the parameter absence (in Solution I, the program cancel).
do you refer to the parameter itself or its value?
if it's the parameter, in Solution I a parameter it's an attribute, so if it absence the program won't specify...