private static void insertDebugBreak(Template t, Breakpoint breakpoint) {
   TemplateElement te = findTemplateElement(t.getRootTreeNode(), breakpoint.getLine());
   if (te == null) {
     return;
   }
   TemplateElement parent = (TemplateElement) te.getParent();
   DebugBreak db = new DebugBreak(te);
   // TODO: Ensure there always is a parent by making sure
   // that the root element in the template is always a MixedContent
   // Also make sure it doesn't conflict with anyone's code.
   parent.setChildAt(parent.getIndex(te), db);
 }
 private void removeDebugBreak(Template t, Breakpoint breakpoint) {
   TemplateElement te = findTemplateElement(t.getRootTreeNode(), breakpoint.getLine());
   if (te == null) {
     return;
   }
   DebugBreak db = null;
   while (te != null) {
     if (te instanceof DebugBreak) {
       db = (DebugBreak) te;
       break;
     }
     te = (TemplateElement) te.getParent();
   }
   if (db == null) {
     return;
   }
   TemplateElement parent = (TemplateElement) db.getParent();
   parent.setChildAt(parent.getIndex(db), (TemplateElement) db.getChildAt(0));
 }