public ITerm GetAsTerm() { if (planBody is PlanBodyImpl || planBody == null) { IPlanBody bd; if (planBody == null) { bd = new PlanBodyImpl(); } else { bd = (IPlanBody)((PlanBodyImpl)planBody.Clone()).MakeVarsAnnon(); } bd.SetAsBodyTerm(true); Trigger te = GetTrigger().Clone(); te.SetAsTriggerTerm(true); return(AsSyntax.CreateStructure("im", AsSyntax.CreateString(plan.GetLabel()), te, bd, unif.GetAsTerm())); } else { return(AsSyntax.CreateAtom("noimplementedforclass" + planBody.GetType().Name)); } }