Updating Associated Metadata Provider to follow the existing pattern.

cc @dougbu @rynowak 
does an empty `parameterName` make sense?  if not, remove `[NotNull]` and throw an `ArgumentException` if `string.IsNullOrEmpty(parameterName)`