void branch(P p) {
        if(p.isInitdone()){
            if (p.getVoisins().size()>=1) {
                int sens = 1;
                for(Map.Entry<Integer,ReaderWriter> entry : p.getVoisins().entrySet()) {
                    if(p.getPereO() != entry.getKey()){
                        stroke(255);
                        strokeWeight(4);
                        pushMatrix();
                        rotate(theta*sens);    
                        line(0, 0, 0, 80);
                        translate(0, 80);
                        branch(proc.get(entry.getKey()));
                        popMatrix();
                        if(sens == -1)
                        {
                            sens = -2*sens;
                        }
                        else
                        {
                            sens = -sens;
                        }
                    }    
                }
            }
            stroke(0);
            strokeWeight(1);
            fill(255, 0, 0);
                if(p.isInSC()){
                    fill(0, 255, 0);
                }else if(p.isDemandeurSC()){
                    fill(255, 179, 0); 
                }
            ellipse(0, 0, 25, 25);
            fill(255);
            text(""+p.getNump(),-7,7);
        }
    }