public void masterUpdate(){
	this.add(this.actualState);
	AbstractState stateAtStart;
	while(true){
	    stateAtStart = this.actualState;
	    /* WE CHECK IF THE STATE AS CHANGE */
	    for(AbstractState s : this.states){
		if(s.getActive())
		    if(s != this.actualState){
			this.actualState = s;
		    }		    
	    }
	    /* WE CHECK IF THE STATE IS NULL*/
	    if(this.actualState == null){
		System.out.println("FATAL : NO STATE REFERENCED!");
		System.exit(0);
	    } else { /* WE CAN CALL THE CONCERNED UPDATE AND ATTACH THE PANE TO THE FRAME */
		if(this.actualState != stateAtStart ){
		    this.remove(stateAtStart);
		    this.add(this.actualState);
		    this.revalidate();
		    this.repaint();
		    this.actualState.requestFocus();
		}
		//this.actualState.revalidate();
		this.actualState.repaint();
		this.actualState.update();
	    }
	    //System.gc();
	}
    }