@Override public BufferedImage createDropShadow(BufferedImage source){
  BufferedImage subject=new BufferedImage(source.getWidth() + this.shadowSize * 2,source.getHeight() + this.shadowSize * 2,BufferedImage.TYPE_INT_ARGB);
  Graphics2D g2=subject.createGraphics();
  g2.drawImage(source,null,this.shadowSize,this.shadowSize);
  g2.dispose();
  applyShadow(subject);
  return subject;
}

@ Override public BufferedImage createDropShadow ( BufferedImage source ) { BufferedImage subject = new BufferedImage ( source . getWidth ( ) + this . shadowSize * 2 , source . getHeight ( ) + this . shadowSize * 2 , BufferedImage . TYPE_INT_ARGB ) ; Graphics2D g2 = subject . createGraphics ( ) ; g2 . drawImage ( source , null , this . shadowSize , this . shadowSize ) ; g2 . dispose ( ) ; applyShadow ( subject ) ; return subject ; }
creates and returns an image containing the drop shadow for the specified source image .
