Sobrepor imagens sem perder a transparencia

Galera…será alguem poderia me ajudar?

Estou tendo problemas com trasparencia de imagens. É o seguinte:

Tenho uma imagem1 e preciso sobrepor outra imagem2 menor sobre esta imagem1. A imagem2 é png com trasparencia. Quero criar uma imagem com marca d’agua, que seria a imagem2 transparente em cima na imagem1.

Qndo eu abro a imagem2 que tem a trasparencia e jogo ela num JFrame só pra visualizar, ela abre com transparencia. Mas qndo eu uso o metodo getRGB de um objeto BufferImage pra pegar os pixels da imagem2 e uso o metodo setRGB pra sobrepor na imagem1, a imagem2 perde a transparencia e fica com o fundo branco. Eis o codigo:

public class Teste {

public static void main(String[] args) throws IOException {

BufferedImage image = ImageIO.read(new File("c:/images.jpg"));
BufferedImage image2 = ImageIO.read(new File("c:/images2.png"));
int w = image2.getWidth();
int h = image2.getHeight();
int[] pixels = image2.getRGB(0, 0, w, h, null, 0, w);

image2.setRGB(0, 0, w, h, pixels ,0 ,w);

// aqui vai o codigo pra mostrar no JFrame

}
}

Por favor, será que alguem poderia me dizer o que estou fazendo de errado? Percebi que este codigo esta perdendo o alpha da imagem2. Como eu faria pra fazer isso sem perder o alpha da imagem?

Obrigado.