public RuntimeMethodHandle GetRuntimeMethodHandle(Type[] genericArgs)
        {
            Debug.Assert(genericArgs == null || genericArgs.Length > 0);

            RuntimeTypeHandle[] genericArgHandles;
            if (genericArgs != null)
            {
                genericArgHandles = new RuntimeTypeHandle[genericArgs.Length];
                for (int i = 0; i < genericArgHandles.Length; i++)
                {
                    genericArgHandles[i] = genericArgs[i].TypeHandle;
                }
            }
            else
            {
                genericArgHandles = null;
            }

            TypeManagerHandle typeManager = TypeLoaderEnvironment.Instance.ModuleList.GetModuleForMetadataReader(Reader);

            return(TypeLoaderEnvironment.Instance.GetRuntimeMethodHandleForComponents(
                       DeclaringType.TypeHandle,
                       Name,
                       RuntimeSignature.CreateFromMethodHandle(typeManager, MethodHandle.AsInt()),
                       genericArgHandles));
        }