public Builder AddArgType <T>(string paramName, string paramDescription, Func <string, string> identityModifier = null)
 {
     ParamNames.Add(paramName);
     ParamDescriptions.Add(paramDescription);
     ArgTypes.Add(typeof(T).TypeHandle);
     OverrideFuncs.Add(null);
     IdentityModifierFuncs.Add(identityModifier);
     return(this);
 }
 public Builder AddArgType(string paramName, string paramDescription, Type paramType, Func <string, IServiceProvider, Task <object> > overrideFunc = null)
 {
     ParamNames.Add(paramName);
     ParamDescriptions.Add(paramDescription);
     ArgTypes.Add(paramType.TypeHandle);
     // ReSharper disable once PossibleNullReferenceException
     OverrideFuncs.Add(overrideFunc.Invoke);
     IdentityModifierFuncs.Add(null);
     return(this);
 }