Problema com metodo redimensionador

DuvidaLogica
alguem entende por que esse metodo:

public static BufferedImage resize(BufferedImage imagem, int newWidth, int newHeight) {
BufferedImage results = new BufferedImage(newWidth, newHeight,BufferedImage.TYPE_INT_RGB);//mexer aki na color model
Graphics2D g = results.createGraphics();
double scaleX = newWidth / (double) imagem.getWidth();
double scaleY = newHeight / (double) imagem.getHeight();
AffineTransform xform = AffineTransform.getScaleInstance(scaleX, scaleY);
g.drawRenderedImage(imagem, xform);
g.dispose();
return results;
}

funciona aki:

image1= Webcam.resize(vision1.getBufferedImage(),300,225);//mudar parametros da imagem aki

sendo webcam o nome da minah classe e vision’.getBufferedImage um metodo que devolve a imagem da camera

e não aki:

BufferedImage imgcapturada=robot.createScreenCapture(screenRect);
imagem0 = ScreenShot2.resize(imgcapturada,800,600);

sendo createScreenCapture(screenRect) um metodo q captura a tela?

o programa roda normalmente no q nao funciona apenas nao redimensiona aiagem