public RdpPattern StartAttDeriv (RdpPattern p, string local, string ns) { Hashtable h = startAtt [p] as Hashtable; if (h == null) { h = new Hashtable (); startAtt [p] = h; } XmlQualifiedName qn = GetQName (local, ns); RdpPattern m = h [qn] as RdpPattern; if (m == null) { m = p.StartAttDeriv (local, ns, this); h [qn] = m; } return m; }