@Override
public void drawWorkAreaCircle(ShortPoint2D buildingPosition, ShortPoint2D workAreaCenter, short radius, boolean draw) {
short buildingPartition = partitionsGrid.getPartitionIdAt(buildingPosition.x, buildingPosition.y);
final int numCircles = 4;
for (int circle = 1; circle <= 4; circle++) {
float circleRadius = radius * circle / (float) numCircles;
float mapObjectProgress = (circle - 1) / (float) (numCircles - 1);
MapCircle.streamBorder(workAreaCenter.x, workAreaCenter.y, circleRadius)
.filterBounds(width, height)
.forEach((x, y) -> addOrRemoveMarkObject(buildingPartition, draw, x, y, mapObjectProgress));
}
}