public void Add(SIProlog.Part part)
 {
     if (part is SIProlog.PartListImpl)
     {
         throw ErrorBadOp("inner partlist");
     }
     tlist.Add(part);
 }
 public void Insert(int i, SIProlog.Part part)
 {
     if (i == Count)
     {
         Add(part);
         return;
     }
     throw ErrorBadOp("inserting outof order");
 }