protected override int CompareTypeMember(ITypeMember x, ITypeMember y)
    {
      DeclaredElementType xType = x.GetElementType();
      DeclaredElementType yType = y.GetElementType();
      if (xType.Equals(yType))
        return base.CompareTypeMember(x, y);

      return StringComparer.InvariantCultureIgnoreCase.Compare(xType.PresentableName, yType.PresentableName);
    }
        protected override int CompareTypeMember(ITypeMember x, ITypeMember y)
        {
            DeclaredElementType xType = x.GetElementType();
            DeclaredElementType yType = y.GetElementType();

            if (xType.Equals(yType))
            {
                return(base.CompareTypeMember(x, y));
            }

            return(StringComparer.InvariantCultureIgnoreCase.Compare(xType.PresentableName, yType.PresentableName));
        }