Java Double Buffering JPanel

public void paint(Graphics g){
  	Image imm = createImage(this.getWidth() - getInsets().left, this.getHeight() getInsets().top);
  	Graphics gImm = imm.getGraphics();
  	//DRAW ON gImm
	g.drawImage(imm, getInsets().left, getInsets().top, this);
}