public override sealed object VisitInterfaceImplementation(InterfaceImplementation interfaceImplementation, object data)
 {
     this.BeginVisit(interfaceImplementation);
     object result = this.TrackedVisitInterfaceImplementation(interfaceImplementation, data);
     this.EndVisit(interfaceImplementation);
     return result;
 }
 public virtual object TrackedVisitInterfaceImplementation(InterfaceImplementation interfaceImplementation, object data)
 {
     return base.VisitInterfaceImplementation(interfaceImplementation, data);
 }
 public virtual object VisitInterfaceImplementation(InterfaceImplementation interfaceImplementation, object data)
 {
     throw new global::System.NotImplementedException("InterfaceImplementation");
 }
 public virtual object VisitInterfaceImplementation(InterfaceImplementation interfaceImplementation, object data)
 {
     Debug.Assert((interfaceImplementation != null));
     Debug.Assert((interfaceImplementation.InterfaceType != null));
     return interfaceImplementation.InterfaceType.AcceptVisitor(this, data);
 }
 public virtual object VisitInterfaceImplementation(InterfaceImplementation interfaceImplementation, object data)
 {
     Debug.Assert((interfaceImplementation != null));
     Debug.Assert((interfaceImplementation.InterfaceType != null));
     nodeStack.Push(interfaceImplementation.InterfaceType);
     interfaceImplementation.InterfaceType.AcceptVisitor(this, data);
     interfaceImplementation.InterfaceType = ((TypeReference)(nodeStack.Pop()));
     return null;
 }