protected override MethodDefinition[] GetMethods()
        {
            var definitions = new List <MethodDefinition>();

            var methods = InterceptableMemberHelper.GetMethods(Type).Where(m => MemberSelector.IncludeMethod(m)); // virtual

            foreach (var method in methods)
            {
                definitions.Add(new MethodDefinition(this, method));
            }

            // mixins
            foreach (var mxinDefinition in MixinDefinitions)
            {
                foreach (var methodDefinition in mxinDefinition.MethodDefinitions)
                {
                    if (MethodFinder.FindMethod(methods, methodDefinition.Method) == null)
                    {
                        definitions.Add(methodDefinition);
                    }
                }
            }

            return(definitions.ToArray());
        }