private void CheckPointcuts(PointCutDefinitionCollection cuts)
        {
            IDictionary pointcutsDefined = new Hashtable();

            foreach (PointCutDefinition pointcut in cuts)
            {
                AssertUnique(pointcutsDefined, pointcut, pointcut, "Duplicated pointcut definition found");

                if (pointcut.Flags == (PointCutFlags.Property | PointCutFlags.PropertyRead) ||
                    pointcut.Flags == (PointCutFlags.Property | PointCutFlags.PropertyWrite))
                {
                    RaiseErrorEvent(pointcut.LexicalInfo, "Meaningless declaration. A pointcut to a property can't be combined with property read or write. This is implied");
                }

                CheckAdvices(pointcut.Advices);
            }
        }
 public DefaultJoinPointMatcher(PointCutDefinitionCollection pointcuts)
 {
     _pointcuts = pointcuts;
 }