public Dispatcher Create() { Type[] types = GetArgumentTypes(); CandidateMethod found = ResolveMethod(types); if (null != found) return EmitMethodDispatcher(found, types); return ProduceExtensionDispatcher(); }