Keeping AdvancedRobot instance in static field
Since you're updating it every round, why do you need it to be static?
Ease of access, probably. I was doing the same before my big inversion of control refactoring.
because I’m simply making everything under a static variable, just like lazy singleton. The field itself is not static at all, but the field containing the field is static and has to be static. Diamond uses this style as well afak However the problem of static reference should happen to this style as well, since two approaches are fundamentally equivalent