class AreaOfInterest extends GraphicalContext<BorderPane> {

    static void calculateTargetAOI(final ArrayList<TargetAOI> targetAOIArrayList) {
        for (final TargetAOI targetAOI : targetAOIArrayList) {
            log.debug("The target is at (" + targetAOI.getXValue() + ", " + targetAOI.getYValue() + ")");

            final int radius = targetAOI.getAreaRadius();
            final Point2D[] point2D = {
                new Point2D(targetAOI.getXValue() - 100, targetAOI.getYValue()),
                new Point2D(targetAOI.getXValue() + radius, targetAOI.getYValue() + 100),
                new Point2D(targetAOI.getXValue(), targetAOI.getYValue() - radius),
                new Point2D(targetAOI.getXValue() + radius, targetAOI.getYValue() - radius)
            };

            final Double[] polygonPoints;
            polygonPoints = calculateRectangle(point2D);

            final Polygon targetArea;
            targetArea = new Polygon();
            targetArea.getPoints().addAll(polygonPoints);
            targetArea.setFill(Color.rgb(255, 255, 255, 0.4));
            targetAOI.setPolygon(targetArea);
        }
    }

    public  AreaOfInterest(final GazePlay gazePlay, final Stats stats);

}