private Area generateShadows(int x, int y, List<RoundRectangle2D.Float> shapes) {
    Area shadows = new Area();
    
    float shapeX, shapeY, width, height, arcWidth, arcHeight;

    for (RoundRectangle2D.Float s : shapes) {
      shapeX = s.x * 50;
      shapeY = s.y * 50;
      width = s.width * 50;
      height = s.height * 50;
      arcWidth = s.arcwidth;
      arcHeight = s.archeight;
      
      if(Math.sqrt((x - shapeX)*(x - shapeX) + (y - shapeY)*(y - shapeY)) < intensity){
        if(arcHeight == arcWidth){
          shadows.add(new Area(rectangleShadow(x, y, (int)shapeX, (int)shapeY, (int)width, (int)height)));
        }
      }

    }

    return shadows;
  }