private void animate() {
		getDisplay().timerExec(msDelay, new Runnable() {
			
			@Override
			public void run() {

				if( !label.isDisposed() )
				{
					if( isVisible() && frames.size() > 0 )
					{
						curFrame++;

						if( curFrame > frames.size()-1 )
						{
							curFrame=0;
						}
						
						label.setImage( frames.get(curFrame) );
	
						label.getDisplay().update();
					}
					if(playing)
					{
						animate();
					}
				}
				
			}
		});
		
	}