Well I agree with @pranavkm here, if the match fails we can just short-circuit here and return a Template part which has null values for  parameter name, default value and inlineConstraint. 
Its upto the calling layer to decide what to do with such a ```TemplatePart```
The only scenarios where the match will probably fail is when we pass in an empty string.