feat(generation): Fix generic parsing inside JavaParser.g to allow parsing of java callback implementation
---
Index: src/antlr/com/jogamp/gluegen/jgram/JavaParser.g
===================================================================
diff --git a/src/antlr/com/jogamp/gluegen/jgram/JavaParser.g b/src/antlr/com/jogamp/gluegen/jgram/JavaParser.g
--- a/src/antlr/com/jogamp/gluegen/jgram/JavaParser.g	(revision f434f6ec0ecba41d3e70afbe7e8bd10a1c071835)
+++ b/src/antlr/com/jogamp/gluegen/jgram/JavaParser.g	(revision 36f2c2648d6a494865ae1ecd810a6f1241a01ce2)
@@ -266,7 +266,13 @@
 // A class type specification is a class type with possible brackets afterwards
 //   (which would make it an array type).
 classTypeSpec[boolean addImagNode]
-    :    identifier (LT gen:classTypeSpec[false] GT)? (lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} RBRACK!)*
+    :    identifier (LT
+            (
+                classTypeSpec[false]
+            |
+                QUESTION ("extends" classTypeSpec[false] (BAND classTypeSpec[false])*)?
+            ) GT
+        )? (lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} RBRACK!)*
         {
             if ( addImagNode ) {
                 #classTypeSpec = #(#[TYPE,"TYPE"], #classTypeSpec);