GROOVY-9633: Refresh the doco for the Groovy Console
diff --git a/subprojects/groovy-console/src/spec/doc/assets/img/astbrowser.png b/subprojects/groovy-console/src/spec/doc/assets/img/astbrowser.png
deleted file mode 100644
index 2a96295..0000000
--- a/subprojects/groovy-console/src/spec/doc/assets/img/astbrowser.png
+++ /dev/null
Binary files differ
diff --git a/subprojects/groovy-console/src/spec/doc/assets/img/astbrowser_bytecode.png b/subprojects/groovy-console/src/spec/doc/assets/img/astbrowser_bytecode.png
new file mode 100644
index 0000000..beb5c4a
--- /dev/null
+++ b/subprojects/groovy-console/src/spec/doc/assets/img/astbrowser_bytecode.png
Binary files differ
diff --git a/subprojects/groovy-console/src/spec/doc/assets/img/astbrowser_source.png b/subprojects/groovy-console/src/spec/doc/assets/img/astbrowser_source.png
new file mode 100644
index 0000000..1d852db
--- /dev/null
+++ b/subprojects/groovy-console/src/spec/doc/assets/img/astbrowser_source.png
Binary files differ
diff --git a/subprojects/groovy-console/src/spec/doc/assets/img/cstbrowser.png b/subprojects/groovy-console/src/spec/doc/assets/img/cstbrowser.png
new file mode 100644
index 0000000..8c5072a
--- /dev/null
+++ b/subprojects/groovy-console/src/spec/doc/assets/img/cstbrowser.png
Binary files differ
diff --git a/subprojects/groovy-console/src/spec/doc/assets/img/gconsole-toolbar.png b/subprojects/groovy-console/src/spec/doc/assets/img/gconsole-toolbar.png
index c6a0cc3..c7036da 100644
--- a/subprojects/groovy-console/src/spec/doc/assets/img/gconsole-toolbar.png
+++ b/subprojects/groovy-console/src/spec/doc/assets/img/gconsole-toolbar.png
Binary files differ
diff --git a/subprojects/groovy-console/src/spec/doc/groovy-console.adoc b/subprojects/groovy-console/src/spec/doc/groovy-console.adoc
index d149f9d..5b21da6 100644
--- a/subprojects/groovy-console/src/spec/doc/groovy-console.adoc
+++ b/subprojects/groovy-console/src/spec/doc/groovy-console.adoc
@@ -205,17 +205,35 @@
 The Groovy Swing console will execute that script on startup, injecting
 a transforms list in the binding of the script, so that you can add your
 own script results representations. In our case, we transform the Map
-into a nice-looking Swing JTable. And we’re now able to visualize maps
+into a nice-looking Swing JTable. We’re now able to visualize maps
 in a friendly and attractive fashion, as the screenshot below shows:
 
 image:assets/img/gconsole-sc-with-visu.png[image]
 
 [[GroovyConsole-ASTbrowser]]
-== AST browser
+== Advanced debugging: AST browser
 
 Groovy Console can visualize the AST (Abstract Syntax Tree) representing
 the currently edited script, as shown by the screenshot below. This is
-particularly handy when you want to develop AST transformations.
+useful when you want to understand how an AST transformation
+is working and particularly handy if you are developing your own AST transform.
+In the example below, we have annotated our class with the `@Immutable` annotation
+and the Groovy compiler has generated a lot of boilerplate code for us.
+We can see the code for the generated equals method in the `Source` tab.
 
-image:assets/img/astbrowser.png[AST Browser]
+image:assets/img/astbrowser_source.png[AST Browser]
+
+We can even examine the JVM bytecode generated by the compiler.
+In the image below we are looking at the bytecode for the Groovy
+expression `LocalDate.parse('2020/02/10', 'yyyy/MM/dd')`.
+
+image:assets/img/astbrowser_bytecode.png[AST Browser]
+
+[[GroovyConsole-CSTbrowser]]
+== Advanced debugging: CST browser
+
+Groovy Console can visualize the CST (Concrete Syntax Tree) representing
+the initial parsing of the script. This is mainly useful for parsing gurus.
+
+image:assets/img/cstbrowser.png[CST Browser]