ArrayList<Object> new2() /* reduce AAprograma3Programa */
    {
        @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>();

        @SuppressWarnings("unused") ArrayList<Object> nodeArrayList5 = pop();
        @SuppressWarnings("unused") ArrayList<Object> nodeArrayList4 = pop();
        @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop();
        @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop();
        @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop();
        PPrograma pprogramaNode1;
        {
            // Block
        TComecaPrograma tcomecaprogramaNode2;
        TId tidNode3;
        TInicioPrograma tinicioprogramaNode4;
        LinkedList<Object> listNode5 = new LinkedList<Object>();
        LinkedList<Object> listNode7 = new LinkedList<Object>();
        TFimPrograma tfimprogramaNode8;
        tcomecaprogramaNode2 = (TComecaPrograma)nodeArrayList1.get(0);
        tidNode3 = (TId)nodeArrayList2.get(0);
        tinicioprogramaNode4 = (TInicioPrograma)nodeArrayList3.get(0);
        {
            // Block
        }
        {
            // Block
        LinkedList<Object> listNode6 = new LinkedList<Object>();
        listNode6 = (LinkedList)nodeArrayList4.get(0);
	if(listNode6 != null)
	{
	  listNode7.addAll(listNode6);
	}
        }
        tfimprogramaNode8 = (TFimPrograma)nodeArrayList5.get(0);

        pprogramaNode1 = new APrograma(tcomecaprogramaNode2, tidNode3, tinicioprogramaNode4, listNode5, listNode7, tfimprogramaNode8);
        }
	nodeList.add(pprogramaNode1);
        return nodeList;
    }



    @SuppressWarnings({ "unchecked", "rawtypes" }