Inheritance: DataDictionary.Namable
 public virtual void visit(StructureRef obj, bool visitSubNodes)
 {
     visit ((Namable) obj, false);
     if (visitSubNodes){
     IXmlBBase[] Subs  = acceptor.subElements((IXmlBBase)obj);
     if (Subs != null){
     for (int i=0; i<Subs.Length; i++) {
       dispatch(Subs[i], true);
     } // If
     } // If
     }
 }
 public virtual void visit(StructureRef obj)
 {
     visit(obj, true);
 }
 public void copyTo(StructureRef other)
 {
     base.copyTo(other);
 }
 public void insertInterfaces(int idx, StructureRef el,Lock aLock)
 {
     __setDirty(true);
       allInterfaces().Insert (idx, el);
     NotifyControllers(aLock);
 }
 public void appendInterfaces(Lock aLock,StructureRef el)
 {
     __setDirty(true);
       el.__setDirty(true);
       allInterfaces().Add(el);
       acceptor.connectSon (this, el);
     NotifyControllers(aLock);
 }
        public override void visit(StructureRef obj, bool visitSubNodes)
        {
            bool errorDetected = true;

            Structure enclosingStructure = obj.Enclosing as Structure;
            if (enclosingStructure != null)
            {
                Structure structure = Dictionary.EFSSystem.FindType(enclosingStructure.NameSpace, obj.Name) as Structure;
                if (structure != null)
                {
                    if (structure.IsAbstract)
                    {
                        errorDetected = false;
                    }
                }
            }

            if (errorDetected)
            {
                obj.AddError("Referenced interface not found");
            }
        }