CONQUERING GROUND-LEVEL ARCHITECTURE IN JAVA: A PRACTICAL GUIDE