/// <summary>
        /// Gets the key that will be used to find the substitute value.
        /// </summary>
        /// <param name="parameterName">The name of the parameter.</param>
        public string GetKey(TagParameter parameter)
        {
            IArgument argument;

            if (_argumentLookup.TryGetValue(parameter, out argument) && argument != null)
            {
                return(argument.GetKey());
            }
            else
            {
                return(null);
            }
        }
 /// <summary>
 /// Associates the given parameter to the key placeholder.
 /// </summary>
 /// <param name="parameter">The parameter to associate the key with.</param>
 /// <param name="key">The argument.</param>
 /// <remarks>If the key is null, the default value of the parameter will be used.</remarks>
 public void AddArgument(TagParameter parameter, IArgument argument)
 {
     _argumentLookup.Add(parameter, argument);
 }