From 356deee4db1d21e321b4ebd1324d4ea0eb82a563 Mon Sep 17 00:00:00 2001
From: Amandine Tournay <amandine.tournay@pasteur.fr>
Date: Mon, 21 Sep 2020 12:01:15 +0200
Subject: [PATCH] Fix Javadoc errors

---
 pom.xml                                       |    2 +-
 src/main/java/japa/parser/ASTHelper.java      |   10 +-
 src/main/java/japa/parser/ASTParser.java      |    4 +-
 .../java/japa/parser/ASTParserConstants.java  |    2 +-
 .../japa/parser/ASTParserTokenManager.java    | 4475 +++++++++--------
 src/main/java/japa/parser/JavaCharStream.java | 1250 ++---
 src/main/java/japa/parser/JavaParser.java     |    8 +-
 src/main/java/japa/parser/ParseException.java |  353 +-
 src/main/java/japa/parser/Token.java          |    9 +-
 src/main/java/japa/parser/TokenMgrError.java  |  272 +-
 .../java/japa/parser/ast/BlockComment.java    |    4 +-
 src/main/java/japa/parser/ast/Comment.java    |    4 +-
 .../java/japa/parser/ast/CompilationUnit.java |   48 +-
 .../japa/parser/ast/ImportDeclaration.java    |   10 +-
 .../java/japa/parser/ast/LineComment.java     |    4 +-
 src/main/java/japa/parser/ast/Node.java       |    6 +-
 .../japa/parser/ast/PackageDeclaration.java   |   10 +-
 .../java/japa/parser/ast/TypeParameter.java   |   12 +-
 .../ast/body/AnnotationDeclaration.java       |    4 +-
 .../ast/body/AnnotationMemberDeclaration.java |    4 +-
 .../japa/parser/ast/body/BodyDeclaration.java |    4 +-
 .../ast/body/ClassOrInterfaceDeclaration.java |    4 +-
 .../ast/body/ConstructorDeclaration.java      |    4 +-
 .../ast/body/EmptyMemberDeclaration.java      |    4 +-
 .../parser/ast/body/EmptyTypeDeclaration.java |    4 +-
 .../ast/body/EnumConstantDeclaration.java     |    4 +-
 .../japa/parser/ast/body/EnumDeclaration.java |    4 +-
 .../parser/ast/body/FieldDeclaration.java     |    4 +-
 .../ast/body/InitializerDeclaration.java      |    4 +-
 .../japa/parser/ast/body/JavadocComment.java  |    4 +-
 .../parser/ast/body/MethodDeclaration.java    |    4 +-
 .../japa/parser/ast/body/ModifierSet.java     |   10 +-
 .../java/japa/parser/ast/body/Parameter.java  |    4 +-
 .../japa/parser/ast/body/TypeDeclaration.java |    4 +-
 .../parser/ast/body/VariableDeclarator.java   |    4 +-
 .../parser/ast/body/VariableDeclaratorId.java |    4 +-
 .../japa/parser/ast/expr/AnnotationExpr.java  |    4 +-
 .../japa/parser/ast/expr/ArrayAccessExpr.java |    4 +-
 .../parser/ast/expr/ArrayCreationExpr.java    |    4 +-
 .../parser/ast/expr/ArrayInitializerExpr.java |    4 +-
 .../java/japa/parser/ast/expr/AssignExpr.java |    4 +-
 .../java/japa/parser/ast/expr/BinaryExpr.java |    4 +-
 .../parser/ast/expr/BooleanLiteralExpr.java   |    4 +-
 .../java/japa/parser/ast/expr/CastExpr.java   |    4 +-
 .../japa/parser/ast/expr/CharLiteralExpr.java |    4 +-
 .../java/japa/parser/ast/expr/ClassExpr.java  |    4 +-
 .../japa/parser/ast/expr/ConditionalExpr.java |    4 +-
 .../parser/ast/expr/DoubleLiteralExpr.java    |    4 +-
 .../japa/parser/ast/expr/EnclosedExpr.java    |    4 +-
 .../java/japa/parser/ast/expr/Expression.java |    4 +-
 .../japa/parser/ast/expr/FieldAccessExpr.java |    4 +-
 .../japa/parser/ast/expr/InstanceOfExpr.java  |    4 +-
 .../parser/ast/expr/IntegerLiteralExpr.java   |    4 +-
 .../ast/expr/IntegerLiteralMinValueExpr.java  |    4 +-
 .../japa/parser/ast/expr/LiteralExpr.java     |    4 +-
 .../japa/parser/ast/expr/LongLiteralExpr.java |    4 +-
 .../ast/expr/LongLiteralMinValueExpr.java     |    4 +-
 .../parser/ast/expr/MarkerAnnotationExpr.java |    4 +-
 .../japa/parser/ast/expr/MemberValuePair.java |    4 +-
 .../japa/parser/ast/expr/MethodCallExpr.java  |    4 +-
 .../java/japa/parser/ast/expr/NameExpr.java   |    4 +-
 .../parser/ast/expr/NormalAnnotationExpr.java |    4 +-
 .../japa/parser/ast/expr/NullLiteralExpr.java |    4 +-
 .../parser/ast/expr/ObjectCreationExpr.java   |    4 +-
 .../parser/ast/expr/QualifiedNameExpr.java    |    4 +-
 .../ast/expr/SingleMemberAnnotationExpr.java  |    4 +-
 .../parser/ast/expr/StringLiteralExpr.java    |    4 +-
 .../java/japa/parser/ast/expr/SuperExpr.java  |    4 +-
 .../java/japa/parser/ast/expr/ThisExpr.java   |    4 +-
 .../java/japa/parser/ast/expr/UnaryExpr.java  |    4 +-
 .../ast/expr/VariableDeclarationExpr.java     |    4 +-
 .../java/japa/parser/ast/stmt/AssertStmt.java |    4 +-
 .../java/japa/parser/ast/stmt/BlockStmt.java  |    4 +-
 .../java/japa/parser/ast/stmt/BreakStmt.java  |    4 +-
 .../japa/parser/ast/stmt/CatchClause.java     |    4 +-
 .../japa/parser/ast/stmt/ContinueStmt.java    |    4 +-
 .../java/japa/parser/ast/stmt/DoStmt.java     |    4 +-
 .../java/japa/parser/ast/stmt/EmptyStmt.java  |    4 +-
 .../ExplicitConstructorInvocationStmt.java    |    4 +-
 .../japa/parser/ast/stmt/ExpressionStmt.java  |    4 +-
 .../java/japa/parser/ast/stmt/ForStmt.java    |    4 +-
 .../japa/parser/ast/stmt/ForeachStmt.java     |    4 +-
 .../java/japa/parser/ast/stmt/IfStmt.java     |    4 +-
 .../japa/parser/ast/stmt/LabeledStmt.java     |    4 +-
 .../java/japa/parser/ast/stmt/ReturnStmt.java |    4 +-
 .../java/japa/parser/ast/stmt/Statement.java  |    4 +-
 .../japa/parser/ast/stmt/SwitchEntryStmt.java |    4 +-
 .../java/japa/parser/ast/stmt/SwitchStmt.java |    4 +-
 .../parser/ast/stmt/SynchronizedStmt.java     |    4 +-
 .../java/japa/parser/ast/stmt/ThrowStmt.java  |    4 +-
 .../java/japa/parser/ast/stmt/TryStmt.java    |    4 +-
 .../parser/ast/stmt/TypeDeclarationStmt.java  |    4 +-
 .../java/japa/parser/ast/stmt/WhileStmt.java  |    4 +-
 .../parser/ast/type/ClassOrInterfaceType.java |    4 +-
 .../japa/parser/ast/type/PrimitiveType.java   |    4 +-
 .../japa/parser/ast/type/ReferenceType.java   |    4 +-
 src/main/java/japa/parser/ast/type/Type.java  |    4 +-
 .../java/japa/parser/ast/type/VoidType.java   |    4 +-
 .../japa/parser/ast/type/WildcardType.java    |    4 +-
 .../japa/parser/ast/visitor/DumpVisitor.java  |    4 +-
 .../parser/ast/visitor/EqualsVisitor.java     |    2 +-
 .../parser/ast/visitor/GenericVisitor.java    |    4 +-
 .../ast/visitor/GenericVisitorAdapter.java    |    4 +-
 .../ast/visitor/ModifierVisitorAdapter.java   |    4 +-
 .../japa/parser/ast/visitor/VoidVisitor.java  |    4 +-
 .../ast/visitor/VoidVisitorAdapter.java       |    4 +-
 106 files changed, 3484 insertions(+), 3355 deletions(-)

diff --git a/pom.xml b/pom.xml
index 1241139..2b39590 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
     </parent>
 
     <artifactId>icy-javadocparser</artifactId>
-    <version>1.0.0</version>
+    <version>1.0.1</version>
 
     <packaging>jar</packaging>
 
diff --git a/src/main/java/japa/parser/ASTHelper.java b/src/main/java/japa/parser/ASTHelper.java
index ac91ac1..136e222 100644
--- a/src/main/java/japa/parser/ASTHelper.java
+++ b/src/main/java/japa/parser/ASTHelper.java
@@ -29,7 +29,7 @@ import java.util.List;
 /**
  * This class helps to construct new nodes.
  * 
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ASTHelper {
 
@@ -220,8 +220,8 @@ public final class ASTHelper {
      * Adds the given statement to the specified block. The list of statements
      * will be initialized if it is <code>null</code>.
      * 
-     * @param block
-     * @param stmt
+     * @param block BlockSmt
+     * @param stmt Statement
      */
     public static void addStmt(BlockStmt block, Statement stmt) {
         List<Statement> stmts = block.getStmts();
@@ -236,8 +236,8 @@ public final class ASTHelper {
      * Adds the given expression to the specified block. The list of statements
      * will be initialized if it is <code>null</code>.
      * 
-     * @param block
-     * @param stmt
+     * @param block BlockSmt
+     * @param expr Expression
      */
     public static void addStmt(BlockStmt block, Expression expr) {
         addStmt(block, new ExpressionStmt(expr));
diff --git a/src/main/java/japa/parser/ASTParser.java b/src/main/java/japa/parser/ASTParser.java
index 463afcd..c7dc4ea 100644
--- a/src/main/java/japa/parser/ASTParser.java
+++ b/src/main/java/japa/parser/ASTParser.java
@@ -1,6 +1,6 @@
 /* Generated By:JavaCC: Do not edit this line. ASTParser.java */
 /*
- * Copyright (C) 2008 J�lio Vilmar Gesser.
+ * Copyright (C) 2008 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -114,7 +114,7 @@ import java.util.List;
  * This class was generated automatically by javacc, do not edit.
  * </p>
  * 
- * @author J�lio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 final class ASTParser implements ASTParserConstants {
 
diff --git a/src/main/java/japa/parser/ASTParserConstants.java b/src/main/java/japa/parser/ASTParserConstants.java
index c23d3c6..5282965 100644
--- a/src/main/java/japa/parser/ASTParserConstants.java
+++ b/src/main/java/japa/parser/ASTParserConstants.java
@@ -1,6 +1,6 @@
 /* Generated By:JavaCC: Do not edit this line. ASTParserConstants.java */
 /*
- * Copyright (C) 2008 J�lio Vilmar Gesser.
+ * Copyright (C) 2008 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
diff --git a/src/main/java/japa/parser/ASTParserTokenManager.java b/src/main/java/japa/parser/ASTParserTokenManager.java
index 2197d0d..351c4a6 100644
--- a/src/main/java/japa/parser/ASTParserTokenManager.java
+++ b/src/main/java/japa/parser/ASTParserTokenManager.java
@@ -1,7 +1,7 @@
 /* Generated By:JavaCC: Do not edit this line. ASTParserTokenManager.java */
 /*
- * Copyright (C) 2008 J�lio Vilmar Gesser.
- * 
+ * Copyright (C) 2008 J&uacute;lio Vilmar Gesser.
+ *
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
  * Java 1.5 parser and Abstract Syntax Tree is free software: you can redistribute it and/or modify
@@ -18,17 +18,20 @@
  * along with Java 1.5 parser and Abstract Syntax Tree.  If not, see <http://www.gnu.org/licenses/>.
  */
 package japa.parser;
+
 import java.io.*;
 import java.util.*;
+
 import japa.parser.ast.*;
 import japa.parser.ast.body.*;
 import japa.parser.ast.expr.*;
 import japa.parser.ast.stmt.*;
 import japa.parser.ast.type.*;
 
-/** Token Manager. */
-public class ASTParserTokenManager implements ASTParserConstants
-{
+/**
+ * Token Manager.
+ */
+public class ASTParserTokenManager implements ASTParserConstants {
     private List<Comment> comments;
     private final Stack<JavadocComment> javadocStack = new Stack<JavadocComment>();
     private JavadocComment lastJavadoc;
@@ -54,2270 +57,2274 @@ public class ASTParserTokenManager implements ASTParserConstants
     private void CommonTokenAction(Token token) {
         lastJavadoc = null;
         if (token.specialToken != null) {
-                if(comments == null) {
-                    comments = new LinkedList<Comment>();
-                }
+            if (comments == null) {
+                comments = new LinkedList<Comment>();
+            }
             Token special = token.specialToken;
-            if(special.kind == JAVA_DOC_COMMENT) {
-                lastJavadoc = new JavadocComment(special.beginLine, special.beginColumn, special.endLine, special.endColumn, special.image.substring(3, special.image.length()-2));
+            if (special.kind == JAVA_DOC_COMMENT) {
+                lastJavadoc = new JavadocComment(special.beginLine, special.beginColumn, special.endLine, special.endColumn, special.image.substring(3, special.image.length() - 2));
                 comments.add(lastJavadoc);
-            } else if(special.kind == SINGLE_LINE_COMMENT) {
+            }
+            else if (special.kind == SINGLE_LINE_COMMENT) {
                 LineComment comment = new LineComment(special.beginLine, special.beginColumn, special.endLine, special.endColumn, special.image.substring(2));
                 comments.add(comment);
-            } else if(special.kind == MULTI_LINE_COMMENT) {
-                BlockComment comment = new BlockComment(special.beginLine, special.beginColumn, special.endLine, special.endColumn, special.image.substring(2, special.image.length()-2));
+            }
+            else if (special.kind == MULTI_LINE_COMMENT) {
+                BlockComment comment = new BlockComment(special.beginLine, special.beginColumn, special.endLine, special.endColumn, special.image.substring(2, special.image.length() - 2));
                 comments.add(comment);
             }
         }
     }
 
-  /** Debug output. */
-  public  java.io.PrintStream debugStream = System.out;
-  /** Set debug output. */
-  public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
-private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1, long active2)
-{
-   switch (pos)
-   {
-      case 0:
-         if ((active0 & 0xfffffffffffff000L) != 0L || (active1 & 0x1L) != 0L)
-         {
-            jjmatchedKind = 77;
-            return 37;
-         }
-         if ((active1 & 0x1000000001000000L) != 0L)
+    /**
+     * Debug output.
+     */
+    public java.io.PrintStream debugStream = System.out;
+
+    /**
+     * Set debug output.
+     * @param ds PrintStream
+     */
+    public void setDebugStream(java.io.PrintStream ds) {
+        debugStream = ds;
+    }
+
+    private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1, long active2) {
+        switch (pos) {
+            case 0:
+                if ((active0 & 0xfffffffffffff000L) != 0L || (active1 & 0x1L) != 0L) {
+                    jjmatchedKind = 77;
+                    return 37;
+                }
+                if ((active1 & 0x1000000001000000L) != 0L)
+                    return 1;
+                if ((active0 & 0x100L) != 0L || (active1 & 0x10080000000000L) != 0L)
+                    return 54;
+                return -1;
+            case 1:
+                if ((active0 & 0x100L) != 0L)
+                    return 59;
+                if ((active0 & 0x803000000L) != 0L)
+                    return 37;
+                if ((active0 & 0xfffffff7fcfff000L) != 0L || (active1 & 0x1L) != 0L) {
+                    if (jjmatchedPos != 1) {
+                        jjmatchedKind = 77;
+                        jjmatchedPos = 1;
+                    }
+                    return 37;
+                }
+                return -1;
+            case 2:
+                if ((active0 & 0xdffff675fefff000L) != 0L || (active1 & 0x1L) != 0L) {
+                    if (jjmatchedPos != 2) {
+                        jjmatchedKind = 77;
+                        jjmatchedPos = 2;
+                    }
+                    return 37;
+                }
+                if ((active0 & 0x2000098200000000L) != 0L)
+                    return 37;
+                return -1;
+            case 3:
+                if ((active0 & 0x8effe571f2f4f000L) != 0L || (active1 & 0x1L) != 0L) {
+                    jjmatchedKind = 77;
+                    jjmatchedPos = 3;
+                    return 37;
+                }
+                if ((active0 & 0x510012040c0b0000L) != 0L)
+                    return 37;
+                return -1;
+            case 4:
+                if ((active0 & 0x88dbe57012c07000L) != 0L) {
+                    if (jjmatchedPos != 4) {
+                        jjmatchedKind = 77;
+                        jjmatchedPos = 4;
+                    }
+                    return 37;
+                }
+                if ((active0 & 0x6240001e0348000L) != 0L || (active1 & 0x1L) != 0L)
+                    return 37;
+                return -1;
+            case 5:
+                if ((active0 & 0x8890e15090c05000L) != 0L) {
+                    jjmatchedKind = 77;
+                    jjmatchedPos = 5;
+                    return 37;
+                }
+                if ((active0 & 0x44b042002002000L) != 0L)
+                    return 37;
+                return -1;
+            case 6:
+                if ((active0 & 0x8890815000401000L) != 0L) {
+                    jjmatchedKind = 77;
+                    jjmatchedPos = 6;
+                    return 37;
+                }
+                if ((active0 & 0x600090804000L) != 0L)
+                    return 37;
+                return -1;
+            case 7:
+                if ((active0 & 0x880815000000000L) != 0L) {
+                    jjmatchedKind = 77;
+                    jjmatchedPos = 7;
+                    return 37;
+                }
+                if ((active0 & 0x8010000000401000L) != 0L)
+                    return 37;
+                return -1;
+            case 8:
+                if ((active0 & 0x800810000000000L) != 0L)
+                    return 37;
+                if ((active0 & 0x80005000000000L) != 0L) {
+                    jjmatchedKind = 77;
+                    jjmatchedPos = 8;
+                    return 37;
+                }
+                return -1;
+            case 9:
+                if ((active0 & 0x80000000000000L) != 0L) {
+                    jjmatchedKind = 77;
+                    jjmatchedPos = 9;
+                    return 37;
+                }
+                if ((active0 & 0x5000000000L) != 0L)
+                    return 37;
+                return -1;
+            case 10:
+                if ((active0 & 0x80000000000000L) != 0L) {
+                    jjmatchedKind = 77;
+                    jjmatchedPos = 10;
+                    return 37;
+                }
+                return -1;
+            default:
+                return -1;
+        }
+    }
+
+    private final int jjStartNfa_0(int pos, long active0, long active1, long active2) {
+        return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0, active1, active2), pos + 1);
+    }
+
+    private int jjStopAtPos(int pos, int kind) {
+        jjmatchedKind = kind;
+        jjmatchedPos = pos;
+        return pos + 1;
+    }
+
+    private int jjMoveStringLiteralDfa0_0() {
+        switch (curChar) {
+            case 26:
+                return jjStopAtPos(0, 128);
+            case 33:
+                jjmatchedKind = 92;
+                return jjMoveStringLiteralDfa1_0(0x0L, 0x800000000L);
+            case 37:
+                jjmatchedKind = 111;
+                return jjMoveStringLiteralDfa1_0(0x0L, 0x100000000000000L);
+            case 38:
+                jjmatchedKind = 108;
+                return jjMoveStringLiteralDfa1_0(0x0L, 0x20002000000000L);
+            case 40:
+                return jjStopAtPos(0, 80);
+            case 41:
+                return jjStopAtPos(0, 81);
+            case 42:
+                jjmatchedKind = 106;
+                return jjMoveStringLiteralDfa1_0(0x0L, 0x8000000000000L);
+            case 43:
+                jjmatchedKind = 104;
+                return jjMoveStringLiteralDfa1_0(0x0L, 0x2004000000000L);
+            case 44:
+                return jjStopAtPos(0, 87);
+            case 45:
+                jjmatchedKind = 105;
+                return jjMoveStringLiteralDfa1_0(0x0L, 0x4008000000000L);
+            case 46:
+                jjmatchedKind = 88;
+                return jjMoveStringLiteralDfa1_0(0x0L, 0x1000000000000000L);
+            case 47:
+                jjmatchedKind = 107;
+                return jjMoveStringLiteralDfa1_0(0x100L, 0x10000000000000L);
+            case 58:
+                return jjStopAtPos(0, 95);
+            case 59:
+                return jjStopAtPos(0, 86);
+            case 60:
+                jjmatchedKind = 91;
+                return jjMoveStringLiteralDfa1_0(0x0L, 0x201000200000000L);
+            case 61:
+                jjmatchedKind = 90;
+                return jjMoveStringLiteralDfa1_0(0x0L, 0x100000000L);
+            case 62:
+                jjmatchedKind = 127;
+                return jjMoveStringLiteralDfa1_0(0x0L, 0x6c00000400000000L);
+            case 63:
+                return jjStopAtPos(0, 94);
+            case 64:
+                return jjStopAtPos(0, 89);
+            case 91:
+                return jjStopAtPos(0, 84);
+            case 93:
+                return jjStopAtPos(0, 85);
+            case 94:
+                jjmatchedKind = 110;
+                return jjMoveStringLiteralDfa1_0(0x0L, 0x80000000000000L);
+            case 97:
+                return jjMoveStringLiteralDfa1_0(0x3000L, 0x0L);
+            case 98:
+                return jjMoveStringLiteralDfa1_0(0x1c000L, 0x0L);
+            case 99:
+                return jjMoveStringLiteralDfa1_0(0x7e0000L, 0x0L);
+            case 100:
+                return jjMoveStringLiteralDfa1_0(0x3800000L, 0x0L);
+            case 101:
+                return jjMoveStringLiteralDfa1_0(0x1c000000L, 0x0L);
+            case 102:
+                return jjMoveStringLiteralDfa1_0(0x3e0000000L, 0x0L);
+            case 103:
+                return jjMoveStringLiteralDfa1_0(0x400000000L, 0x0L);
+            case 105:
+                return jjMoveStringLiteralDfa1_0(0x1f800000000L, 0x0L);
+            case 108:
+                return jjMoveStringLiteralDfa1_0(0x20000000000L, 0x0L);
+            case 110:
+                return jjMoveStringLiteralDfa1_0(0x1c0000000000L, 0x0L);
+            case 112:
+                return jjMoveStringLiteralDfa1_0(0x1e00000000000L, 0x0L);
+            case 114:
+                return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x0L);
+            case 115:
+                return jjMoveStringLiteralDfa1_0(0xfc000000000000L, 0x0L);
+            case 116:
+                return jjMoveStringLiteralDfa1_0(0x3f00000000000000L, 0x0L);
+            case 118:
+                return jjMoveStringLiteralDfa1_0(0xc000000000000000L, 0x0L);
+            case 119:
+                return jjMoveStringLiteralDfa1_0(0x0L, 0x1L);
+            case 123:
+                return jjStopAtPos(0, 82);
+            case 124:
+                jjmatchedKind = 109;
+                return jjMoveStringLiteralDfa1_0(0x0L, 0x40001000000000L);
+            case 125:
+                return jjStopAtPos(0, 83);
+            case 126:
+                return jjStopAtPos(0, 93);
+            default:
+                return jjMoveNfa_0(0, 0);
+        }
+    }
+
+    private int jjMoveStringLiteralDfa1_0(long active0, long active1) {
+        try {
+            curChar = input_stream.readChar();
+        }
+        catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(0, active0, active1, 0L);
             return 1;
-         if ((active0 & 0x100L) != 0L || (active1 & 0x10080000000000L) != 0L)
-            return 54;
-         return -1;
-      case 1:
-         if ((active0 & 0x100L) != 0L)
-            return 59;
-         if ((active0 & 0x803000000L) != 0L)
-            return 37;
-         if ((active0 & 0xfffffff7fcfff000L) != 0L || (active1 & 0x1L) != 0L)
-         {
-            if (jjmatchedPos != 1)
-            {
-               jjmatchedKind = 77;
-               jjmatchedPos = 1;
+        }
+        switch (curChar) {
+            case 38:
+                if ((active1 & 0x2000000000L) != 0L)
+                    return jjStopAtPos(1, 101);
+                break;
+            case 42:
+                if ((active0 & 0x100L) != 0L)
+                    return jjStartNfaWithStates_0(1, 8, 59);
+                break;
+            case 43:
+                if ((active1 & 0x4000000000L) != 0L)
+                    return jjStopAtPos(1, 102);
+                break;
+            case 45:
+                if ((active1 & 0x8000000000L) != 0L)
+                    return jjStopAtPos(1, 103);
+                break;
+            case 46:
+                return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1000000000000000L);
+            case 60:
+                if ((active1 & 0x1000000000000L) != 0L) {
+                    jjmatchedKind = 112;
+                    jjmatchedPos = 1;
+                }
+                return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x200000000000000L);
+            case 61:
+                if ((active1 & 0x100000000L) != 0L)
+                    return jjStopAtPos(1, 96);
+                else if ((active1 & 0x200000000L) != 0L)
+                    return jjStopAtPos(1, 97);
+                else if ((active1 & 0x400000000L) != 0L)
+                    return jjStopAtPos(1, 98);
+                else if ((active1 & 0x800000000L) != 0L)
+                    return jjStopAtPos(1, 99);
+                else if ((active1 & 0x2000000000000L) != 0L)
+                    return jjStopAtPos(1, 113);
+                else if ((active1 & 0x4000000000000L) != 0L)
+                    return jjStopAtPos(1, 114);
+                else if ((active1 & 0x8000000000000L) != 0L)
+                    return jjStopAtPos(1, 115);
+                else if ((active1 & 0x10000000000000L) != 0L)
+                    return jjStopAtPos(1, 116);
+                else if ((active1 & 0x20000000000000L) != 0L)
+                    return jjStopAtPos(1, 117);
+                else if ((active1 & 0x40000000000000L) != 0L)
+                    return jjStopAtPos(1, 118);
+                else if ((active1 & 0x80000000000000L) != 0L)
+                    return jjStopAtPos(1, 119);
+                else if ((active1 & 0x100000000000000L) != 0L)
+                    return jjStopAtPos(1, 120);
+                break;
+            case 62:
+                if ((active1 & 0x4000000000000000L) != 0L) {
+                    jjmatchedKind = 126;
+                    jjmatchedPos = 1;
+                }
+                return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x2c00000000000000L);
+            case 97:
+                return jjMoveStringLiteralDfa2_0(active0, 0x240020060000L, active1, 0L);
+            case 98:
+                return jjMoveStringLiteralDfa2_0(active0, 0x1000L, active1, 0L);
+            case 101:
+                return jjMoveStringLiteralDfa2_0(active0, 0x2080000800000L, active1, 0L);
+            case 102:
+                if ((active0 & 0x800000000L) != 0L)
+                    return jjStartNfaWithStates_0(1, 35, 37);
+                break;
+            case 104:
+                return jjMoveStringLiteralDfa2_0(active0, 0x704000000080000L, active1, 0x1L);
+            case 105:
+                return jjMoveStringLiteralDfa2_0(active0, 0xc0000000L, active1, 0L);
+            case 108:
+                return jjMoveStringLiteralDfa2_0(active0, 0x104100000L, active1, 0L);
+            case 109:
+                return jjMoveStringLiteralDfa2_0(active0, 0x3000000000L, active1, 0L);
+            case 110:
+                return jjMoveStringLiteralDfa2_0(active0, 0x1c008000000L, active1, 0L);
+            case 111:
+                if ((active0 & 0x1000000L) != 0L) {
+                    jjmatchedKind = 24;
+                    jjmatchedPos = 1;
+                }
+                return jjMoveStringLiteralDfa2_0(active0, 0xc000020602604000L, active1, 0L);
+            case 114:
+                return jjMoveStringLiteralDfa2_0(active0, 0x3800c00000008000L, active1, 0L);
+            case 115:
+                return jjMoveStringLiteralDfa2_0(active0, 0x2000L, active1, 0L);
+            case 116:
+                return jjMoveStringLiteralDfa2_0(active0, 0x18000000000000L, active1, 0L);
+            case 117:
+                return jjMoveStringLiteralDfa2_0(active0, 0x21100000000000L, active1, 0L);
+            case 119:
+                return jjMoveStringLiteralDfa2_0(active0, 0x40000000000000L, active1, 0L);
+            case 120:
+                return jjMoveStringLiteralDfa2_0(active0, 0x10000000L, active1, 0L);
+            case 121:
+                return jjMoveStringLiteralDfa2_0(active0, 0x80000000010000L, active1, 0L);
+            case 124:
+                if ((active1 & 0x1000000000L) != 0L)
+                    return jjStopAtPos(1, 100);
+                break;
+            default:
+                break;
+        }
+        return jjStartNfa_0(0, active0, active1, 0L);
+    }
+
+    private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1) {
+        if (((active0 &= old0) | (active1 &= old1)) == 0L)
+            return jjStartNfa_0(0, old0, old1, 0L);
+        try {
+            curChar = input_stream.readChar();
+        }
+        catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(1, active0, active1, 0L);
+            return 2;
+        }
+        switch (curChar) {
+            case 46:
+                if ((active1 & 0x1000000000000000L) != 0L)
+                    return jjStopAtPos(2, 124);
+                break;
+            case 61:
+                if ((active1 & 0x200000000000000L) != 0L)
+                    return jjStopAtPos(2, 121);
+                else if ((active1 & 0x400000000000000L) != 0L)
+                    return jjStopAtPos(2, 122);
+                break;
+            case 62:
+                if ((active1 & 0x2000000000000000L) != 0L) {
+                    jjmatchedKind = 125;
+                    jjmatchedPos = 2;
+                }
+                return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x800000000000000L);
+            case 97:
+                return jjMoveStringLiteralDfa3_0(active0, 0x808000000180000L, active1, 0L);
+            case 98:
+                return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000L, active1, 0L);
+            case 99:
+                return jjMoveStringLiteralDfa3_0(active0, 0x200000000000L, active1, 0L);
+            case 101:
+                return jjMoveStringLiteralDfa3_0(active0, 0x8000L, active1, 0L);
+            case 102:
+                return jjMoveStringLiteralDfa3_0(active0, 0x800000L, active1, 0L);
+            case 105:
+                return jjMoveStringLiteralDfa3_0(active0, 0x4140400000000000L, active1, 0x1L);
+            case 108:
+                return jjMoveStringLiteralDfa3_0(active0, 0x8000100020000000L, active1, 0L);
+            case 110:
+                return jjMoveStringLiteralDfa3_0(active0, 0x800200c0600000L, active1, 0L);
+            case 111:
+                return jjMoveStringLiteralDfa3_0(active0, 0x4800100004000L, active1, 0L);
+            case 112:
+                return jjMoveStringLiteralDfa3_0(active0, 0x20003000000000L, active1, 0L);
+            case 114:
+                if ((active0 & 0x200000000L) != 0L)
+                    return jjStartNfaWithStates_0(2, 33, 37);
+                return jjMoveStringLiteralDfa3_0(active0, 0x610000000000000L, active1, 0L);
+            case 115:
+                return jjMoveStringLiteralDfa3_0(active0, 0x4004023000L, active1, 0L);
+            case 116:
+                if ((active0 & 0x8000000000L) != 0L) {
+                    jjmatchedKind = 39;
+                    jjmatchedPos = 2;
+                }
+                return jjMoveStringLiteralDfa3_0(active0, 0x2050410050000L, active1, 0L);
+            case 117:
+                return jjMoveStringLiteralDfa3_0(active0, 0x100000000a000000L, active1, 0L);
+            case 119:
+                if ((active0 & 0x80000000000L) != 0L)
+                    return jjStartNfaWithStates_0(2, 43, 37);
+                break;
+            case 121:
+                if ((active0 & 0x2000000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(2, 61, 37);
+                break;
+            default:
+                break;
+        }
+        return jjStartNfa_0(1, active0, active1, 0L);
+    }
+
+    private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1) {
+        if (((active0 &= old0) | (active1 &= old1)) == 0L)
+            return jjStartNfa_0(1, old0, old1, 0L);
+        try {
+            curChar = input_stream.readChar();
+        }
+        catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(2, active0, active1, 0L);
+            return 3;
+        }
+        switch (curChar) {
+            case 61:
+                if ((active1 & 0x800000000000000L) != 0L)
+                    return jjStopAtPos(3, 123);
+                break;
+            case 97:
+                return jjMoveStringLiteralDfa4_0(active0, 0x80000001c0808000L, active1, 0L);
+            case 98:
+                return jjMoveStringLiteralDfa4_0(active0, 0x2000000L, active1, 0L);
+            case 99:
+                return jjMoveStringLiteralDfa4_0(active0, 0x80000000040000L, active1, 0L);
+            case 100:
+                if ((active0 & 0x4000000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(3, 62, 37);
+                break;
+            case 101:
+                if ((active0 & 0x10000L) != 0L)
+                    return jjStartNfaWithStates_0(3, 16, 37);
+                else if ((active0 & 0x20000L) != 0L)
+                    return jjStartNfaWithStates_0(3, 17, 37);
+                else if ((active0 & 0x4000000L) != 0L)
+                    return jjStartNfaWithStates_0(3, 26, 37);
+                else if ((active0 & 0x1000000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(3, 60, 37);
+                return jjMoveStringLiteralDfa4_0(active0, 0x20010010002000L, active1, 0L);
+            case 103:
+                if ((active0 & 0x20000000000L) != 0L)
+                    return jjStartNfaWithStates_0(3, 41, 37);
+                break;
+            case 105:
+                return jjMoveStringLiteralDfa4_0(active0, 0x10040000000000L, active1, 0L);
+            case 107:
+                return jjMoveStringLiteralDfa4_0(active0, 0x200000000000L, active1, 0L);
+            case 108:
+                if ((active0 & 0x100000000000L) != 0L)
+                    return jjStartNfaWithStates_0(3, 44, 37);
+                return jjMoveStringLiteralDfa4_0(active0, 0x1001000004000L, active1, 0x1L);
+            case 109:
+                if ((active0 & 0x8000000L) != 0L)
+                    return jjStartNfaWithStates_0(3, 27, 37);
+                break;
+            case 110:
+                return jjMoveStringLiteralDfa4_0(active0, 0x800000000000000L, active1, 0L);
+            case 111:
+                if ((active0 & 0x400000000L) != 0L)
+                    return jjStartNfaWithStates_0(3, 34, 37);
+                return jjMoveStringLiteralDfa4_0(active0, 0x600002000000000L, active1, 0L);
+            case 114:
+                if ((active0 & 0x80000L) != 0L)
+                    return jjStartNfaWithStates_0(3, 19, 37);
+                return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L, active1, 0L);
+            case 115:
+                if ((active0 & 0x100000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(3, 56, 37);
+                return jjMoveStringLiteralDfa4_0(active0, 0x20300000L, active1, 0L);
+            case 116:
+                return jjMoveStringLiteralDfa4_0(active0, 0x48804000401000L, active1, 0L);
+            case 117:
+                return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000L, active1, 0L);
+            case 118:
+                return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L, active1, 0L);
+            default:
+                break;
+        }
+        return jjStartNfa_0(2, active0, active1, 0L);
+    }
+
+    private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long active1) {
+        if (((active0 &= old0) | (active1 &= old1)) == 0L)
+            return jjStartNfa_0(2, old0, old1, 0L);
+        try {
+            curChar = input_stream.readChar();
+        }
+        catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(3, active0, active1, 0L);
+            return 4;
+        }
+        switch (curChar) {
+            case 97:
+                return jjMoveStringLiteralDfa5_0(active0, 0x604000000000L, active1, 0L);
+            case 99:
+                return jjMoveStringLiteralDfa5_0(active0, 0x50000000000000L, active1, 0L);
+            case 101:
+                if ((active0 & 0x20000000L) != 0L)
+                    return jjStartNfaWithStates_0(4, 29, 37);
+                else if ((active1 & 0x1L) != 0L)
+                    return jjStartNfaWithStates_0(4, 64, 37);
+                return jjMoveStringLiteralDfa5_0(active0, 0x801000004000L, active1, 0L);
+            case 104:
+                if ((active0 & 0x40000L) != 0L)
+                    return jjStartNfaWithStates_0(4, 18, 37);
+                return jjMoveStringLiteralDfa5_0(active0, 0x80000000000000L, active1, 0L);
+            case 105:
+                return jjMoveStringLiteralDfa5_0(active0, 0x9000000400000L, active1, 0L);
+            case 107:
+                if ((active0 & 0x8000L) != 0L)
+                    return jjStartNfaWithStates_0(4, 15, 37);
+                break;
+            case 108:
+                if ((active0 & 0x40000000L) != 0L) {
+                    jjmatchedKind = 30;
+                    jjmatchedPos = 4;
+                }
+                return jjMoveStringLiteralDfa5_0(active0, 0x82000000L, active1, 0L);
+            case 110:
+                return jjMoveStringLiteralDfa5_0(active0, 0x10000000L, active1, 0L);
+            case 114:
+                if ((active0 & 0x20000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(4, 53, 37);
+                return jjMoveStringLiteralDfa5_0(active0, 0x2012000003000L, active1, 0L);
+            case 115:
+                if ((active0 & 0x100000L) != 0L)
+                    return jjStartNfaWithStates_0(4, 20, 37);
+                return jjMoveStringLiteralDfa5_0(active0, 0x800000000000000L, active1, 0L);
+            case 116:
+                if ((active0 & 0x200000L) != 0L)
+                    return jjStartNfaWithStates_0(4, 21, 37);
+                else if ((active0 & 0x100000000L) != 0L)
+                    return jjStartNfaWithStates_0(4, 32, 37);
+                else if ((active0 & 0x4000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(4, 50, 37);
+                return jjMoveStringLiteralDfa5_0(active0, 0x8000000000000000L, active1, 0L);
+            case 117:
+                return jjMoveStringLiteralDfa5_0(active0, 0x800000L, active1, 0L);
+            case 118:
+                return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L, active1, 0L);
+            case 119:
+                if ((active0 & 0x200000000000000L) != 0L) {
+                    jjmatchedKind = 57;
+                    jjmatchedPos = 4;
+                }
+                return jjMoveStringLiteralDfa5_0(active0, 0x400000000000000L, active1, 0L);
+            default:
+                break;
+        }
+        return jjStartNfa_0(3, active0, active1, 0L);
+    }
+
+    private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long active1) {
+        if (((active0 &= old0) | (active1 &= old1)) == 0L)
+            return jjStartNfa_0(3, old0, old1, 0L);
+        try {
+            curChar = input_stream.readChar();
+        }
+        catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(4, active0, 0L, 0L);
+            return 5;
+        }
+        switch (curChar) {
+            case 97:
+                return jjMoveStringLiteralDfa6_0(active0, 0x5000L);
+            case 99:
+                if ((active0 & 0x1000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(5, 48, 37);
+                else if ((active0 & 0x8000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(5, 51, 37);
+                return jjMoveStringLiteralDfa6_0(active0, 0x800000000000L);
+            case 100:
+                return jjMoveStringLiteralDfa6_0(active0, 0x10000000L);
+            case 101:
+                if ((active0 & 0x2000000L) != 0L)
+                    return jjStartNfaWithStates_0(5, 25, 37);
+                else if ((active0 & 0x40000000000L) != 0L)
+                    return jjStartNfaWithStates_0(5, 42, 37);
+                break;
+            case 102:
+                return jjMoveStringLiteralDfa6_0(active0, 0x10000000000L);
+            case 103:
+                return jjMoveStringLiteralDfa6_0(active0, 0x200000000000L);
+            case 104:
+                if ((active0 & 0x40000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(5, 54, 37);
+                break;
+            case 105:
+                return jjMoveStringLiteralDfa6_0(active0, 0x8800000000000000L);
+            case 108:
+                return jjMoveStringLiteralDfa6_0(active0, 0x80800000L);
+            case 109:
+                return jjMoveStringLiteralDfa6_0(active0, 0x1000000000L);
+            case 110:
+                if ((active0 & 0x2000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(5, 49, 37);
+                return jjMoveStringLiteralDfa6_0(active0, 0x4000400000L);
+            case 114:
+                return jjMoveStringLiteralDfa6_0(active0, 0x80000000000000L);
+            case 115:
+                if ((active0 & 0x400000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(5, 58, 37);
+                break;
+            case 116:
+                if ((active0 & 0x2000L) != 0L)
+                    return jjStartNfaWithStates_0(5, 13, 37);
+                else if ((active0 & 0x2000000000L) != 0L)
+                    return jjStartNfaWithStates_0(5, 37, 37);
+                return jjMoveStringLiteralDfa6_0(active0, 0x10400000000000L);
+            default:
+                break;
+        }
+        return jjStartNfa_0(4, active0, 0L, 0L);
+    }
+
+    private int jjMoveStringLiteralDfa6_0(long old0, long active0) {
+        if (((active0 &= old0)) == 0L)
+            return jjStartNfa_0(4, old0, 0L, 0L);
+        try {
+            curChar = input_stream.readChar();
+        }
+        catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(5, active0, 0L, 0L);
+            return 6;
+        }
+        switch (curChar) {
+            case 97:
+                return jjMoveStringLiteralDfa7_0(active0, 0x10000000000L);
+            case 99:
+                return jjMoveStringLiteralDfa7_0(active0, 0x4000001000L);
+            case 101:
+                if ((active0 & 0x200000000000L) != 0L)
+                    return jjStartNfaWithStates_0(6, 45, 37);
+                else if ((active0 & 0x400000000000L) != 0L)
+                    return jjStartNfaWithStates_0(6, 46, 37);
+                return jjMoveStringLiteralDfa7_0(active0, 0x800001000000000L);
+            case 102:
+                return jjMoveStringLiteralDfa7_0(active0, 0x10000000000000L);
+            case 108:
+                return jjMoveStringLiteralDfa7_0(active0, 0x8000000000000000L);
+            case 110:
+                if ((active0 & 0x4000L) != 0L)
+                    return jjStartNfaWithStates_0(6, 14, 37);
+                break;
+            case 111:
+                return jjMoveStringLiteralDfa7_0(active0, 0x80000000000000L);
+            case 115:
+                if ((active0 & 0x10000000L) != 0L)
+                    return jjStartNfaWithStates_0(6, 28, 37);
+                break;
+            case 116:
+                if ((active0 & 0x800000L) != 0L)
+                    return jjStartNfaWithStates_0(6, 23, 37);
+                return jjMoveStringLiteralDfa7_0(active0, 0x800000000000L);
+            case 117:
+                return jjMoveStringLiteralDfa7_0(active0, 0x400000L);
+            case 121:
+                if ((active0 & 0x80000000L) != 0L)
+                    return jjStartNfaWithStates_0(6, 31, 37);
+                break;
+            default:
+                break;
+        }
+        return jjStartNfa_0(5, active0, 0L, 0L);
+    }
+
+    private int jjMoveStringLiteralDfa7_0(long old0, long active0) {
+        if (((active0 &= old0)) == 0L)
+            return jjStartNfa_0(5, old0, 0L, 0L);
+        try {
+            curChar = input_stream.readChar();
+        }
+        catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(6, active0, 0L, 0L);
+            return 7;
+        }
+        switch (curChar) {
+            case 99:
+                return jjMoveStringLiteralDfa8_0(active0, 0x10000000000L);
+            case 101:
+                if ((active0 & 0x400000L) != 0L)
+                    return jjStartNfaWithStates_0(7, 22, 37);
+                else if ((active0 & 0x8000000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(7, 63, 37);
+                return jjMoveStringLiteralDfa8_0(active0, 0x804000000000L);
+            case 110:
+                return jjMoveStringLiteralDfa8_0(active0, 0x880001000000000L);
+            case 112:
+                if ((active0 & 0x10000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(7, 52, 37);
+                break;
+            case 116:
+                if ((active0 & 0x1000L) != 0L)
+                    return jjStartNfaWithStates_0(7, 12, 37);
+                break;
+            default:
+                break;
+        }
+        return jjStartNfa_0(6, active0, 0L, 0L);
+    }
+
+    private int jjMoveStringLiteralDfa8_0(long old0, long active0) {
+        if (((active0 &= old0)) == 0L)
+            return jjStartNfa_0(6, old0, 0L, 0L);
+        try {
+            curChar = input_stream.readChar();
+        }
+        catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(7, active0, 0L, 0L);
+            return 8;
+        }
+        switch (curChar) {
+            case 100:
+                if ((active0 & 0x800000000000L) != 0L)
+                    return jjStartNfaWithStates_0(8, 47, 37);
+                break;
+            case 101:
+                if ((active0 & 0x10000000000L) != 0L)
+                    return jjStartNfaWithStates_0(8, 40, 37);
+                break;
+            case 105:
+                return jjMoveStringLiteralDfa9_0(active0, 0x80000000000000L);
+            case 111:
+                return jjMoveStringLiteralDfa9_0(active0, 0x4000000000L);
+            case 116:
+                if ((active0 & 0x800000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(8, 59, 37);
+                return jjMoveStringLiteralDfa9_0(active0, 0x1000000000L);
+            default:
+                break;
+        }
+        return jjStartNfa_0(7, active0, 0L, 0L);
+    }
+
+    private int jjMoveStringLiteralDfa9_0(long old0, long active0) {
+        if (((active0 &= old0)) == 0L)
+            return jjStartNfa_0(7, old0, 0L, 0L);
+        try {
+            curChar = input_stream.readChar();
+        }
+        catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(8, active0, 0L, 0L);
+            return 9;
+        }
+        switch (curChar) {
+            case 102:
+                if ((active0 & 0x4000000000L) != 0L)
+                    return jjStartNfaWithStates_0(9, 38, 37);
+                break;
+            case 115:
+                if ((active0 & 0x1000000000L) != 0L)
+                    return jjStartNfaWithStates_0(9, 36, 37);
+                break;
+            case 122:
+                return jjMoveStringLiteralDfa10_0(active0, 0x80000000000000L);
+            default:
+                break;
+        }
+        return jjStartNfa_0(8, active0, 0L, 0L);
+    }
+
+    private int jjMoveStringLiteralDfa10_0(long old0, long active0) {
+        if (((active0 &= old0)) == 0L)
+            return jjStartNfa_0(8, old0, 0L, 0L);
+        try {
+            curChar = input_stream.readChar();
+        }
+        catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(9, active0, 0L, 0L);
+            return 10;
+        }
+        switch (curChar) {
+            case 101:
+                return jjMoveStringLiteralDfa11_0(active0, 0x80000000000000L);
+            default:
+                break;
+        }
+        return jjStartNfa_0(9, active0, 0L, 0L);
+    }
+
+    private int jjMoveStringLiteralDfa11_0(long old0, long active0) {
+        if (((active0 &= old0)) == 0L)
+            return jjStartNfa_0(9, old0, 0L, 0L);
+        try {
+            curChar = input_stream.readChar();
+        }
+        catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(10, active0, 0L, 0L);
+            return 11;
+        }
+        switch (curChar) {
+            case 100:
+                if ((active0 & 0x80000000000000L) != 0L)
+                    return jjStartNfaWithStates_0(11, 55, 37);
+                break;
+            default:
+                break;
+        }
+        return jjStartNfa_0(10, active0, 0L, 0L);
+    }
+
+    private int jjStartNfaWithStates_0(int pos, int kind, int state) {
+        jjmatchedKind = kind;
+        jjmatchedPos = pos;
+        try {
+            curChar = input_stream.readChar();
+        }
+        catch (java.io.IOException e) {
+            return pos + 1;
+        }
+        return jjMoveNfa_0(state, pos + 1);
+    }
+
+    static final long[] jjbitVec0 = {
+            0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
+    };
+    static final long[] jjbitVec2 = {
+            0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
+    };
+    static final long[] jjbitVec3 = {
+            0xfff0000000200002L, 0xffffffffffffdfffL, 0xfffff00f7fffffffL, 0x12000000007fffffL
+    };
+    static final long[] jjbitVec4 = {
+            0x0L, 0x0L, 0x420043c00000000L, 0xff7fffffff7fffffL
+    };
+    static final long[] jjbitVec5 = {
+            0x7fffffffffffffL, 0xffffffffffff0000L, 0xffffffffffffffffL, 0x401f0003ffc3L
+    };
+    static final long[] jjbitVec6 = {
+            0x0L, 0x400000000000000L, 0xfffffffbffffd740L, 0xfbfffffffff7fffL
+    };
+    static final long[] jjbitVec7 = {
+            0xffffffffffffffffL, 0xffffffffffffffffL, 0xfffffffffffffc03L, 0x33fffffffff7fffL
+    };
+    static final long[] jjbitVec8 = {
+            0xfffe00000000ffffL, 0xfffffffe027fffffL, 0xffL, 0x707ffffff0000L
+    };
+    static final long[] jjbitVec9 = {
+            0x7fffffe00000000L, 0xfffec000000007ffL, 0xffffffffffffffffL, 0x9c00c060002fffffL
+    };
+    static final long[] jjbitVec10 = {
+            0xfffffffd0000L, 0xe000L, 0x2003fffffffffL, 0x0L
+    };
+    static final long[] jjbitVec11 = {
+            0x23fffffffffffff0L, 0x3ff010000L, 0x23c5fdfffff99fe0L, 0xf0003b0000000L
+    };
+    static final long[] jjbitVec12 = {
+            0x36dfdfffff987e0L, 0x1c00005e000000L, 0x23edfdfffffbbfe0L, 0x2000300010000L
+    };
+    static final long[] jjbitVec13 = {
+            0x23edfdfffff99fe0L, 0x20003b0000000L, 0x3bfc718d63dc7e8L, 0x200000000000000L
+    };
+    static final long[] jjbitVec14 = {
+            0x3effdfffffddfe0L, 0x300000000L, 0x23effdfffffddfe0L, 0x340000000L
+    };
+    static final long[] jjbitVec15 = {
+            0x3fffdfffffddfe0L, 0x300000000L, 0x2ffbfffffc7fffe0L, 0x7fL
+    };
+    static final long[] jjbitVec16 = {
+            0x800dfffffffffffeL, 0x7fL, 0x200decaefef02596L, 0x3000005fL
+    };
+    static final long[] jjbitVec17 = {
+            0x1L, 0x7fffffffeffL, 0xf00L, 0x0L
+    };
+    static final long[] jjbitVec18 = {
+            0x6fbffffffffL, 0x3f0000L, 0xffffffff00000000L, 0x1ffffffffff003fL
+    };
+    static final long[] jjbitVec19 = {
+            0xffffffffffffffffL, 0xffffffff83ffffffL, 0xffffff07ffffffffL, 0x3ffffffffffffffL
+    };
+    static final long[] jjbitVec20 = {
+            0xffffffffffffff7fL, 0xffffffff3d7f3d7fL, 0x7f3d7fffffff3d7fL, 0xffff7fffff7f7f3dL
+    };
+    static final long[] jjbitVec21 = {
+            0xffffffff7f3d7fffL, 0x7ffff7fL, 0xffffffff00000000L, 0x1fffffffffffffL
+    };
+    static final long[] jjbitVec22 = {
+            0xffffffffffffffffL, 0x7f9fffffffffffL, 0xffffffff07fffffeL, 0x1c7ffffffffffL
+    };
+    static final long[] jjbitVec23 = {
+            0x3ffff0003dfffL, 0x1dfff0003ffffL, 0xfffffffffffffL, 0x18800000L
+    };
+    static final long[] jjbitVec24 = {
+            0xffffffff00000000L, 0xffffffffffffffL, 0x1ffffffffffL, 0x0L
+    };
+    static final long[] jjbitVec25 = {
+            0x1fffffffL, 0x1f3fffffff0000L, 0x0L, 0x0L
+    };
+    static final long[] jjbitVec26 = {
+            0xffffffffffffffffL, 0xfffffffffffL, 0x0L, 0x0L
+    };
+    static final long[] jjbitVec27 = {
+            0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffff0fffffffL, 0x3ffffffffffffffL
+    };
+    static final long[] jjbitVec28 = {
+            0xffffffff3f3fffffL, 0x3fffffffaaff3f3fL, 0x5fdfffffffffffffL, 0x1fdc1fff0fcf1fdcL
+    };
+    static final long[] jjbitVec29 = {
+            0x8000000000000000L, 0x8002000000100001L, 0x3ffff00000000L, 0x0L
+    };
+    static final long[] jjbitVec30 = {
+            0xe3fbbd503e2ffc84L, 0xffffffff000003e0L, 0xfL, 0x0L
+    };
+    static final long[] jjbitVec31 = {
+            0x1f3e03fe000000e0L, 0xfffffffffffffffeL, 0xfffffffee07fffffL, 0xffffffffffffffffL
+    };
+    static final long[] jjbitVec32 = {
+            0xfffe1fffffffffe0L, 0xffffffffffffffffL, 0xffffff00007fffL, 0xffff000000000000L
+    };
+    static final long[] jjbitVec33 = {
+            0xffffffffffffffffL, 0xffffffffffffffffL, 0x3fffffffffffffL, 0x0L
+    };
+    static final long[] jjbitVec34 = {
+            0xffffffffffffffffL, 0xffffffffffffffffL, 0x3fffffffffL, 0x0L
+    };
+    static final long[] jjbitVec35 = {
+            0xffffffffffffffffL, 0xffffffffffffffffL, 0x1fffL, 0x0L
+    };
+    static final long[] jjbitVec36 = {
+            0xffffffffffffffffL, 0xffffffffffffffffL, 0xfffffffffL, 0x0L
+    };
+    static final long[] jjbitVec37 = {
+            0x6L, 0x0L, 0x0L, 0x0L
+    };
+    static final long[] jjbitVec38 = {
+            0xffff3fffffffffffL, 0x7ffffffffffL, 0x0L, 0x0L
+    };
+    static final long[] jjbitVec39 = {
+            0x5f7ffdffa0f8007fL, 0xffffffffffffffdbL, 0x3ffffffffffffL, 0xfffffffffff80000L
+    };
+    static final long[] jjbitVec40 = {
+            0x3fffffffffffffffL, 0xffffffffffff0000L, 0xfffffffffffcffffL, 0x1fff0000000000ffL
+    };
+    static final long[] jjbitVec41 = {
+            0x18000000000000L, 0xffdf02000000e000L, 0xffffffffffffffffL, 0x1fffffffffffffffL
+    };
+    static final long[] jjbitVec42 = {
+            0x87fffffe00000010L, 0xffffffe007fffffeL, 0x7fffffffffffffffL, 0x631cfcfcfcL
+    };
+    static final long[] jjbitVec43 = {
+            0x0L, 0x0L, 0x420243cffffffffL, 0xff7fffffff7fffffL
+    };
+    static final long[] jjbitVec44 = {
+            0xffffffffffffffffL, 0x400ffffe0ffffffL, 0xfffffffbffffd740L, 0xfbfffffffff7fffL
+    };
+    static final long[] jjbitVec45 = {
+            0xffffffffffffffffL, 0xffffffffffffffffL, 0xfffffffffffffc7bL, 0x33fffffffff7fffL
+    };
+    static final long[] jjbitVec46 = {
+            0xfffe00000000ffffL, 0xfffffffe027fffffL, 0xbbfffffbfffe00ffL, 0x707ffffff0016L
+    };
+    static final long[] jjbitVec47 = {
+            0x7fffffe003f000fL, 0xffffc3ff01ffffffL, 0xffffffffffffffffL, 0x9ffffdffbfefffffL
+    };
+    static final long[] jjbitVec48 = {
+            0xffffffffffff8000L, 0xe7ffL, 0x3ffffffffffffL, 0x0L
+    };
+    static final long[] jjbitVec49 = {
+            0xf3fffffffffffffeL, 0xffcfff1f3fffL, 0xf3c5fdfffff99feeL, 0xfffcfb080399fL
+    };
+    static final long[] jjbitVec50 = {
+            0xd36dfdfffff987eeL, 0x1fffc05e003987L, 0xf3edfdfffffbbfeeL, 0x2ffcf00013bbfL
+    };
+    static final long[] jjbitVec51 = {
+            0xf3edfdfffff99feeL, 0x2ffc3b0c0398fL, 0xc3bfc718d63dc7ecL, 0x200ff8000803dc7L
+    };
+    static final long[] jjbitVec52 = {
+            0xc3effdfffffddfeeL, 0xffc300603ddfL, 0xf3effdfffffddfecL, 0xffc340603ddfL
+    };
+    static final long[] jjbitVec53 = {
+            0xc3fffdfffffddfecL, 0xffc300803dcfL, 0x2ffbfffffc7fffecL, 0xc0000ff5f847fL
+    };
+    static final long[] jjbitVec54 = {
+            0x87fffffffffffffeL, 0x3ff7fffL, 0x3bffecaefef02596L, 0x33ff3f5fL
+    };
+    static final long[] jjbitVec55 = {
+            0xc2a003ff03000001L, 0xfffe07fffffffeffL, 0x1ffffffffeff0fdfL, 0x40L
+    };
+    static final long[] jjbitVec56 = {
+            0x3c7f6fbffffffffL, 0x3ff03ffL, 0xffffffff00000000L, 0x1ffffffffff003fL
+    };
+    static final long[] jjbitVec57 = {
+            0xffffffff7f3d7fffL, 0x3fe0007ffff7fL, 0xffffffff00000000L, 0x1fffffffffffffL
+    };
+    static final long[] jjbitVec58 = {
+            0x1fffff001fdfffL, 0xddfff000fffffL, 0xffffffffffffffffL, 0x3ff388fffffL
+    };
+    static final long[] jjbitVec59 = {
+            0xffffffff03ff3800L, 0xffffffffffffffL, 0x3ffffffffffL, 0x0L
+    };
+    static final long[] jjbitVec60 = {
+            0xfff0fff1fffffffL, 0x1f3fffffffffc0L, 0x0L, 0x0L
+    };
+    static final long[] jjbitVec61 = {
+            0x80007c000000f000L, 0x8002fc0f00100001L, 0x3ffff00000000L, 0x7e21fff0000L
+    };
+    static final long[] jjbitVec62 = {
+            0x1f3efffe000000e0L, 0xfffffffffffffffeL, 0xfffffffee67fffffL, 0xffffffffffffffffL
+    };
+    static final long[] jjbitVec63 = {
+            0x10000000000006L, 0x0L, 0x0L, 0x0L
+    };
+    static final long[] jjbitVec64 = {
+            0x3L, 0x0L, 0x0L, 0x0L
+    };
+    static final long[] jjbitVec65 = {
+            0x0L, 0x800000000000000L, 0x0L, 0x0L
+    };
+    static final long[] jjbitVec66 = {
+            0x5f7ffdffe0f8007fL, 0xffffffffffffffdbL, 0x3ffffffffffffL, 0xfffffffffff80000L
+    };
+    static final long[] jjbitVec67 = {
+            0x18000f0000ffffL, 0xffdf02000000e000L, 0xffffffffffffffffL, 0x9fffffffffffffffL
+    };
+    static final long[] jjbitVec68 = {
+            0x87fffffe03ff0010L, 0xffffffe007fffffeL, 0x7fffffffffffffffL, 0xe0000631cfcfcfcL
+    };
+
+    private int jjMoveNfa_0(int startState, int curPos) {
+        int startsAt = 0;
+        jjnewStateCnt = 86;
+        int i = 1;
+        jjstateSet[0] = startState;
+        int kind = 0x7fffffff;
+        for (; ; ) {
+            if (++jjround == 0x7fffffff)
+                ReInitRounds();
+            if (curChar < 64) {
+                long l = 1L << curChar;
+                do {
+                    switch (jjstateSet[--i]) {
+                        case 54:
+                            if (curChar == 42)
+                                jjstateSet[jjnewStateCnt++] = 59;
+                            else if (curChar == 47) {
+                                if (kind > 6)
+                                    kind = 6;
+                                jjCheckNAddStates(0, 2);
+                            }
+                            break;
+                        case 0:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjCheckNAddStates(3, 9);
+                            else if (curChar == 47)
+                                jjAddStates(10, 11);
+                            else if (curChar == 36) {
+                                if (kind > 77)
+                                    kind = 77;
+                                jjCheckNAdd(37);
+                            }
+                            else if (curChar == 34)
+                                jjCheckNAddStates(12, 15);
+                            else if (curChar == 39)
+                                jjAddStates(16, 18);
+                            else if (curChar == 46)
+                                jjCheckNAdd(1);
+                            if ((0x3fe000000000000L & l) != 0L) {
+                                if (kind > 66)
+                                    kind = 66;
+                                jjCheckNAddStates(19, 21);
+                            }
+                            else if (curChar == 48) {
+                                if (kind > 66)
+                                    kind = 66;
+                                jjCheckNAddStates(22, 28);
+                            }
+                            break;
+                        case 1:
+                            if ((0x3ff000000000000L & l) == 0L)
+                                break;
+                            if (kind > 70)
+                                kind = 70;
+                            jjCheckNAddStates(29, 31);
+                            break;
+                        case 3:
+                            if ((0x280000000000L & l) != 0L)
+                                jjCheckNAdd(4);
+                            break;
+                        case 4:
+                            if ((0x3ff000000000000L & l) == 0L)
+                                break;
+                            if (kind > 70)
+                                kind = 70;
+                            jjCheckNAddTwoStates(4, 5);
+                            break;
+                        case 6:
+                            if (curChar == 39)
+                                jjAddStates(16, 18);
+                            break;
+                        case 7:
+                            if ((0xffffff7fffffdbffL & l) != 0L)
+                                jjCheckNAdd(8);
+                            break;
+                        case 8:
+                            if (curChar == 39 && kind > 75)
+                                kind = 75;
+                            break;
+                        case 10:
+                            if ((0x8400000000L & l) != 0L)
+                                jjCheckNAdd(8);
+                            break;
+                        case 11:
+                            if ((0xff000000000000L & l) != 0L)
+                                jjCheckNAddTwoStates(12, 8);
+                            break;
+                        case 12:
+                            if ((0xff000000000000L & l) != 0L)
+                                jjCheckNAdd(8);
+                            break;
+                        case 13:
+                            if ((0xf000000000000L & l) != 0L)
+                                jjstateSet[jjnewStateCnt++] = 14;
+                            break;
+                        case 14:
+                            if ((0xff000000000000L & l) != 0L)
+                                jjCheckNAdd(12);
+                            break;
+                        case 16:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjstateSet[jjnewStateCnt++] = 17;
+                            break;
+                        case 17:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjstateSet[jjnewStateCnt++] = 18;
+                            break;
+                        case 18:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjstateSet[jjnewStateCnt++] = 19;
+                            break;
+                        case 19:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjCheckNAdd(8);
+                            break;
+                        case 21:
+                            if (curChar == 34)
+                                jjCheckNAddStates(12, 15);
+                            break;
+                        case 22:
+                            if ((0xfffffffbffffdbffL & l) != 0L)
+                                jjCheckNAddStates(12, 15);
+                            break;
+                        case 24:
+                            if ((0x8400000000L & l) != 0L)
+                                jjCheckNAddStates(12, 15);
+                            break;
+                        case 26:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjstateSet[jjnewStateCnt++] = 27;
+                            break;
+                        case 27:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjstateSet[jjnewStateCnt++] = 28;
+                            break;
+                        case 28:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjstateSet[jjnewStateCnt++] = 29;
+                            break;
+                        case 29:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjCheckNAddStates(12, 15);
+                            break;
+                        case 31:
+                            if (curChar == 34 && kind > 76)
+                                kind = 76;
+                            break;
+                        case 32:
+                            if ((0xff000000000000L & l) != 0L)
+                                jjCheckNAddStates(32, 36);
+                            break;
+                        case 33:
+                            if ((0xff000000000000L & l) != 0L)
+                                jjCheckNAddStates(12, 15);
+                            break;
+                        case 34:
+                            if ((0xf000000000000L & l) != 0L)
+                                jjstateSet[jjnewStateCnt++] = 35;
+                            break;
+                        case 35:
+                            if ((0xff000000000000L & l) != 0L)
+                                jjCheckNAdd(33);
+                            break;
+                        case 36:
+                            if (curChar != 36)
+                                break;
+                            if (kind > 77)
+                                kind = 77;
+                            jjCheckNAdd(37);
+                            break;
+                        case 37:
+                            if ((0x3ff00100fffc1ffL & l) == 0L)
+                                break;
+                            if (kind > 77)
+                                kind = 77;
+                            jjCheckNAdd(37);
+                            break;
+                        case 38:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjCheckNAddStates(3, 9);
+                            break;
+                        case 39:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjCheckNAddStates(37, 39);
+                            break;
+                        case 41:
+                            if ((0x280000000000L & l) != 0L)
+                                jjCheckNAdd(42);
+                            break;
+                        case 42:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjCheckNAddTwoStates(42, 5);
+                            break;
+                        case 43:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjCheckNAddTwoStates(43, 44);
+                            break;
+                        case 45:
+                            if ((0x280000000000L & l) != 0L)
+                                jjCheckNAdd(46);
+                            break;
+                        case 46:
+                            if ((0x3ff000000000000L & l) == 0L)
+                                break;
+                            if (kind > 70)
+                                kind = 70;
+                            jjCheckNAddTwoStates(46, 5);
+                            break;
+                        case 47:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjCheckNAddTwoStates(47, 48);
+                            break;
+                        case 48:
+                            if (curChar != 46)
+                                break;
+                            if (kind > 70)
+                                kind = 70;
+                            jjCheckNAddStates(40, 42);
+                            break;
+                        case 49:
+                            if ((0x3ff000000000000L & l) == 0L)
+                                break;
+                            if (kind > 70)
+                                kind = 70;
+                            jjCheckNAddStates(40, 42);
+                            break;
+                        case 51:
+                            if ((0x280000000000L & l) != 0L)
+                                jjCheckNAdd(52);
+                            break;
+                        case 52:
+                            if ((0x3ff000000000000L & l) == 0L)
+                                break;
+                            if (kind > 70)
+                                kind = 70;
+                            jjCheckNAddTwoStates(52, 5);
+                            break;
+                        case 53:
+                            if (curChar == 47)
+                                jjAddStates(10, 11);
+                            break;
+                        case 55:
+                            if ((0xffffffffffffdbffL & l) == 0L)
+                                break;
+                            if (kind > 6)
+                                kind = 6;
+                            jjCheckNAddStates(0, 2);
+                            break;
+                        case 56:
+                            if ((0x2400L & l) != 0L && kind > 6)
+                                kind = 6;
+                            break;
+                        case 57:
+                            if (curChar == 10 && kind > 6)
+                                kind = 6;
+                            break;
+                        case 58:
+                            if (curChar == 13)
+                                jjstateSet[jjnewStateCnt++] = 57;
+                            break;
+                        case 59:
+                            if (curChar == 42)
+                                jjstateSet[jjnewStateCnt++] = 60;
+                            break;
+                        case 60:
+                            if ((0xffff7fffffffffffL & l) != 0L && kind > 7)
+                                kind = 7;
+                            break;
+                        case 61:
+                            if (curChar == 42)
+                                jjstateSet[jjnewStateCnt++] = 59;
+                            break;
+                        case 62:
+                            if ((0x3fe000000000000L & l) == 0L)
+                                break;
+                            if (kind > 66)
+                                kind = 66;
+                            jjCheckNAddStates(19, 21);
+                            break;
+                        case 63:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjCheckNAddTwoStates(63, 64);
+                            break;
+                        case 65:
+                            if ((0x3ff000000000000L & l) == 0L)
+                                break;
+                            if (kind > 66)
+                                kind = 66;
+                            jjCheckNAdd(65);
+                            break;
+                        case 66:
+                            if (curChar != 48)
+                                break;
+                            if (kind > 66)
+                                kind = 66;
+                            jjCheckNAddStates(22, 28);
+                            break;
+                        case 68:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjCheckNAddTwoStates(68, 64);
+                            break;
+                        case 69:
+                            if ((0xff000000000000L & l) != 0L)
+                                jjCheckNAddTwoStates(69, 64);
+                            break;
+                        case 71:
+                            if ((0x3ff000000000000L & l) == 0L)
+                                break;
+                            if (kind > 66)
+                                kind = 66;
+                            jjstateSet[jjnewStateCnt++] = 71;
+                            break;
+                        case 72:
+                            if ((0xff000000000000L & l) == 0L)
+                                break;
+                            if (kind > 66)
+                                kind = 66;
+                            jjCheckNAdd(72);
+                            break;
+                        case 74:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjAddStates(43, 44);
+                            break;
+                        case 75:
+                            if (curChar == 46)
+                                jjCheckNAdd(76);
+                            break;
+                        case 76:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjCheckNAddTwoStates(76, 77);
+                            break;
+                        case 78:
+                            if ((0x280000000000L & l) != 0L)
+                                jjCheckNAdd(79);
+                            break;
+                        case 79:
+                            if ((0x3ff000000000000L & l) == 0L)
+                                break;
+                            if (kind > 70)
+                                kind = 70;
+                            jjCheckNAddTwoStates(79, 5);
+                            break;
+                        case 81:
+                            if ((0x3ff000000000000L & l) != 0L)
+                                jjCheckNAddStates(45, 47);
+                            break;
+                        case 82:
+                            if (curChar == 46)
+                                jjCheckNAdd(83);
+                            break;
+                        case 84:
+                            if ((0x280000000000L & l) != 0L)
+                                jjCheckNAdd(85);
+                            break;
+                        case 85:
+                            if ((0x3ff000000000000L & l) == 0L)
+                                break;
+                            if (kind > 70)
+                                kind = 70;
+                            jjCheckNAddTwoStates(85, 5);
+                            break;
+                        default:
+                            break;
+                    }
+                } while (i != startsAt);
             }
-            return 37;
-         }
-         return -1;
-      case 2:
-         if ((active0 & 0xdffff675fefff000L) != 0L || (active1 & 0x1L) != 0L)
-         {
-            if (jjmatchedPos != 2)
-            {
-               jjmatchedKind = 77;
-               jjmatchedPos = 2;
+            else if (curChar < 128) {
+                long l = 1L << (curChar & 077);
+                do {
+                    switch (jjstateSet[--i]) {
+                        case 0:
+                            if ((0x7fffffe87fffffeL & l) == 0L)
+                                break;
+                            if (kind > 77)
+                                kind = 77;
+                            jjCheckNAdd(37);
+                            break;
+                        case 2:
+                            if ((0x2000000020L & l) != 0L)
+                                jjAddStates(48, 49);
+                            break;
+                        case 5:
+                            if ((0x5000000050L & l) != 0L && kind > 70)
+                                kind = 70;
+                            break;
+                        case 7:
+                            if ((0xffffffffefffffffL & l) != 0L)
+                                jjCheckNAdd(8);
+                            break;
+                        case 9:
+                            if (curChar == 92)
+                                jjAddStates(50, 52);
+                            break;
+                        case 10:
+                            if ((0x14404410000000L & l) != 0L)
+                                jjCheckNAdd(8);
+                            break;
+                        case 15:
+                            if (curChar == 117)
+                                jjstateSet[jjnewStateCnt++] = 16;
+                            break;
+                        case 16:
+                            if ((0x7e0000007eL & l) != 0L)
+                                jjstateSet[jjnewStateCnt++] = 17;
+                            break;
+                        case 17:
+                            if ((0x7e0000007eL & l) != 0L)
+                                jjstateSet[jjnewStateCnt++] = 18;
+                            break;
+                        case 18:
+                            if ((0x7e0000007eL & l) != 0L)
+                                jjstateSet[jjnewStateCnt++] = 19;
+                            break;
+                        case 19:
+                            if ((0x7e0000007eL & l) != 0L)
+                                jjCheckNAdd(8);
+                            break;
+                        case 20:
+                            if (curChar == 92)
+                                jjstateSet[jjnewStateCnt++] = 15;
+                            break;
+                        case 22:
+                            if ((0xffffffffefffffffL & l) != 0L)
+                                jjCheckNAddStates(12, 15);
+                            break;
+                        case 23:
+                            if (curChar == 92)
+                                jjAddStates(53, 55);
+                            break;
+                        case 24:
+                            if ((0x14404410000000L & l) != 0L)
+                                jjCheckNAddStates(12, 15);
+                            break;
+                        case 25:
+                            if (curChar == 117)
+                                jjstateSet[jjnewStateCnt++] = 26;
+                            break;
+                        case 26:
+                            if ((0x7e0000007eL & l) != 0L)
+                                jjstateSet[jjnewStateCnt++] = 27;
+                            break;
+                        case 27:
+                            if ((0x7e0000007eL & l) != 0L)
+                                jjstateSet[jjnewStateCnt++] = 28;
+                            break;
+                        case 28:
+                            if ((0x7e0000007eL & l) != 0L)
+                                jjstateSet[jjnewStateCnt++] = 29;
+                            break;
+                        case 29:
+                            if ((0x7e0000007eL & l) != 0L)
+                                jjCheckNAddStates(12, 15);
+                            break;
+                        case 30:
+                            if (curChar == 92)
+                                jjstateSet[jjnewStateCnt++] = 25;
+                            break;
+                        case 37:
+                            if ((0x87fffffe87fffffeL & l) == 0L)
+                                break;
+                            if (kind > 77)
+                                kind = 77;
+                            jjCheckNAdd(37);
+                            break;
+                        case 40:
+                            if ((0x2000000020L & l) != 0L)
+                                jjAddStates(56, 57);
+                            break;
+                        case 44:
+                            if ((0x2000000020L & l) != 0L)
+                                jjAddStates(58, 59);
+                            break;
+                        case 50:
+                            if ((0x2000000020L & l) != 0L)
+                                jjAddStates(60, 61);
+                            break;
+                        case 55:
+                            if (kind > 6)
+                                kind = 6;
+                            jjAddStates(0, 2);
+                            break;
+                        case 60:
+                            if (kind > 7)
+                                kind = 7;
+                            break;
+                        case 64:
+                            if ((0x100000001000L & l) != 0L && kind > 65)
+                                kind = 65;
+                            break;
+                        case 67:
+                            if ((0x100000001000000L & l) != 0L)
+                                jjCheckNAdd(68);
+                            break;
+                        case 68:
+                            if ((0x7e0000007eL & l) != 0L)
+                                jjCheckNAddTwoStates(68, 64);
+                            break;
+                        case 70:
+                            if ((0x100000001000000L & l) != 0L)
+                                jjCheckNAdd(71);
+                            break;
+                        case 71:
+                            if ((0x7e0000007eL & l) == 0L)
+                                break;
+                            if (kind > 66)
+                                kind = 66;
+                            jjCheckNAdd(71);
+                            break;
+                        case 73:
+                            if ((0x100000001000000L & l) != 0L)
+                                jjCheckNAddTwoStates(74, 75);
+                            break;
+                        case 74:
+                            if ((0x7e0000007eL & l) != 0L)
+                                jjCheckNAddTwoStates(74, 75);
+                            break;
+                        case 76:
+                            if ((0x7e0000007eL & l) != 0L)
+                                jjAddStates(62, 63);
+                            break;
+                        case 77:
+                            if ((0x1000000010000L & l) != 0L)
+                                jjAddStates(64, 65);
+                            break;
+                        case 80:
+                            if ((0x100000001000000L & l) != 0L)
+                                jjCheckNAdd(81);
+                            break;
+                        case 81:
+                            if ((0x7e0000007eL & l) != 0L)
+                                jjCheckNAddStates(45, 47);
+                            break;
+                        case 83:
+                            if ((0x1000000010000L & l) != 0L)
+                                jjAddStates(66, 67);
+                            break;
+                        default:
+                            break;
+                    }
+                } while (i != startsAt);
             }
-            return 37;
-         }
-         if ((active0 & 0x2000098200000000L) != 0L)
-            return 37;
-         return -1;
-      case 3:
-         if ((active0 & 0x8effe571f2f4f000L) != 0L || (active1 & 0x1L) != 0L)
-         {
-            jjmatchedKind = 77;
-            jjmatchedPos = 3;
-            return 37;
-         }
-         if ((active0 & 0x510012040c0b0000L) != 0L)
-            return 37;
-         return -1;
-      case 4:
-         if ((active0 & 0x88dbe57012c07000L) != 0L)
-         {
-            if (jjmatchedPos != 4)
-            {
-               jjmatchedKind = 77;
-               jjmatchedPos = 4;
+            else {
+                int hiByte = (int) (curChar >> 8);
+                int i1 = hiByte >> 6;
+                long l1 = 1L << (hiByte & 077);
+                int i2 = (curChar & 0xff) >> 6;
+                long l2 = 1L << (curChar & 077);
+                do {
+                    switch (jjstateSet[--i]) {
+                        case 0:
+                            if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
+                                break;
+                            if (kind > 77)
+                                kind = 77;
+                            jjCheckNAdd(37);
+                            break;
+                        case 7:
+                            if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                                jjstateSet[jjnewStateCnt++] = 8;
+                            break;
+                        case 22:
+                            if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                                jjAddStates(12, 15);
+                            break;
+                        case 37:
+                            if (!jjCanMove_2(hiByte, i1, i2, l1, l2))
+                                break;
+                            if (kind > 77)
+                                kind = 77;
+                            jjCheckNAdd(37);
+                            break;
+                        case 55:
+                            if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
+                                break;
+                            if (kind > 6)
+                                kind = 6;
+                            jjAddStates(0, 2);
+                            break;
+                        case 60:
+                            if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 7)
+                                kind = 7;
+                            break;
+                        default:
+                            break;
+                    }
+                } while (i != startsAt);
             }
-            return 37;
-         }
-         if ((active0 & 0x6240001e0348000L) != 0L || (active1 & 0x1L) != 0L)
-            return 37;
-         return -1;
-      case 5:
-         if ((active0 & 0x8890e15090c05000L) != 0L)
-         {
-            jjmatchedKind = 77;
-            jjmatchedPos = 5;
-            return 37;
-         }
-         if ((active0 & 0x44b042002002000L) != 0L)
-            return 37;
-         return -1;
-      case 6:
-         if ((active0 & 0x8890815000401000L) != 0L)
-         {
-            jjmatchedKind = 77;
-            jjmatchedPos = 6;
-            return 37;
-         }
-         if ((active0 & 0x600090804000L) != 0L)
-            return 37;
-         return -1;
-      case 7:
-         if ((active0 & 0x880815000000000L) != 0L)
-         {
-            jjmatchedKind = 77;
-            jjmatchedPos = 7;
-            return 37;
-         }
-         if ((active0 & 0x8010000000401000L) != 0L)
-            return 37;
-         return -1;
-      case 8:
-         if ((active0 & 0x800810000000000L) != 0L)
-            return 37;
-         if ((active0 & 0x80005000000000L) != 0L)
-         {
-            jjmatchedKind = 77;
-            jjmatchedPos = 8;
-            return 37;
-         }
-         return -1;
-      case 9:
-         if ((active0 & 0x80000000000000L) != 0L)
-         {
-            jjmatchedKind = 77;
-            jjmatchedPos = 9;
-            return 37;
-         }
-         if ((active0 & 0x5000000000L) != 0L)
-            return 37;
-         return -1;
-      case 10:
-         if ((active0 & 0x80000000000000L) != 0L)
-         {
-            jjmatchedKind = 77;
-            jjmatchedPos = 10;
-            return 37;
-         }
-         return -1;
-      default :
-         return -1;
-   }
-}
-private final int jjStartNfa_0(int pos, long active0, long active1, long active2)
-{
-   return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0, active1, active2), pos + 1);
-}
-private int jjStopAtPos(int pos, int kind)
-{
-   jjmatchedKind = kind;
-   jjmatchedPos = pos;
-   return pos + 1;
-}
-private int jjMoveStringLiteralDfa0_0()
-{
-   switch(curChar)
-   {
-      case 26:
-         return jjStopAtPos(0, 128);
-      case 33:
-         jjmatchedKind = 92;
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x800000000L);
-      case 37:
-         jjmatchedKind = 111;
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x100000000000000L);
-      case 38:
-         jjmatchedKind = 108;
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x20002000000000L);
-      case 40:
-         return jjStopAtPos(0, 80);
-      case 41:
-         return jjStopAtPos(0, 81);
-      case 42:
-         jjmatchedKind = 106;
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x8000000000000L);
-      case 43:
-         jjmatchedKind = 104;
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x2004000000000L);
-      case 44:
-         return jjStopAtPos(0, 87);
-      case 45:
-         jjmatchedKind = 105;
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x4008000000000L);
-      case 46:
-         jjmatchedKind = 88;
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x1000000000000000L);
-      case 47:
-         jjmatchedKind = 107;
-         return jjMoveStringLiteralDfa1_0(0x100L, 0x10000000000000L);
-      case 58:
-         return jjStopAtPos(0, 95);
-      case 59:
-         return jjStopAtPos(0, 86);
-      case 60:
-         jjmatchedKind = 91;
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x201000200000000L);
-      case 61:
-         jjmatchedKind = 90;
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x100000000L);
-      case 62:
-         jjmatchedKind = 127;
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x6c00000400000000L);
-      case 63:
-         return jjStopAtPos(0, 94);
-      case 64:
-         return jjStopAtPos(0, 89);
-      case 91:
-         return jjStopAtPos(0, 84);
-      case 93:
-         return jjStopAtPos(0, 85);
-      case 94:
-         jjmatchedKind = 110;
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x80000000000000L);
-      case 97:
-         return jjMoveStringLiteralDfa1_0(0x3000L, 0x0L);
-      case 98:
-         return jjMoveStringLiteralDfa1_0(0x1c000L, 0x0L);
-      case 99:
-         return jjMoveStringLiteralDfa1_0(0x7e0000L, 0x0L);
-      case 100:
-         return jjMoveStringLiteralDfa1_0(0x3800000L, 0x0L);
-      case 101:
-         return jjMoveStringLiteralDfa1_0(0x1c000000L, 0x0L);
-      case 102:
-         return jjMoveStringLiteralDfa1_0(0x3e0000000L, 0x0L);
-      case 103:
-         return jjMoveStringLiteralDfa1_0(0x400000000L, 0x0L);
-      case 105:
-         return jjMoveStringLiteralDfa1_0(0x1f800000000L, 0x0L);
-      case 108:
-         return jjMoveStringLiteralDfa1_0(0x20000000000L, 0x0L);
-      case 110:
-         return jjMoveStringLiteralDfa1_0(0x1c0000000000L, 0x0L);
-      case 112:
-         return jjMoveStringLiteralDfa1_0(0x1e00000000000L, 0x0L);
-      case 114:
-         return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x0L);
-      case 115:
-         return jjMoveStringLiteralDfa1_0(0xfc000000000000L, 0x0L);
-      case 116:
-         return jjMoveStringLiteralDfa1_0(0x3f00000000000000L, 0x0L);
-      case 118:
-         return jjMoveStringLiteralDfa1_0(0xc000000000000000L, 0x0L);
-      case 119:
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x1L);
-      case 123:
-         return jjStopAtPos(0, 82);
-      case 124:
-         jjmatchedKind = 109;
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x40001000000000L);
-      case 125:
-         return jjStopAtPos(0, 83);
-      case 126:
-         return jjStopAtPos(0, 93);
-      default :
-         return jjMoveNfa_0(0, 0);
-   }
-}
-private int jjMoveStringLiteralDfa1_0(long active0, long active1)
-{
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(0, active0, active1, 0L);
-      return 1;
-   }
-   switch(curChar)
-   {
-      case 38:
-         if ((active1 & 0x2000000000L) != 0L)
-            return jjStopAtPos(1, 101);
-         break;
-      case 42:
-         if ((active0 & 0x100L) != 0L)
-            return jjStartNfaWithStates_0(1, 8, 59);
-         break;
-      case 43:
-         if ((active1 & 0x4000000000L) != 0L)
-            return jjStopAtPos(1, 102);
-         break;
-      case 45:
-         if ((active1 & 0x8000000000L) != 0L)
-            return jjStopAtPos(1, 103);
-         break;
-      case 46:
-         return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1000000000000000L);
-      case 60:
-         if ((active1 & 0x1000000000000L) != 0L)
-         {
-            jjmatchedKind = 112;
-            jjmatchedPos = 1;
-         }
-         return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x200000000000000L);
-      case 61:
-         if ((active1 & 0x100000000L) != 0L)
-            return jjStopAtPos(1, 96);
-         else if ((active1 & 0x200000000L) != 0L)
-            return jjStopAtPos(1, 97);
-         else if ((active1 & 0x400000000L) != 0L)
-            return jjStopAtPos(1, 98);
-         else if ((active1 & 0x800000000L) != 0L)
-            return jjStopAtPos(1, 99);
-         else if ((active1 & 0x2000000000000L) != 0L)
-            return jjStopAtPos(1, 113);
-         else if ((active1 & 0x4000000000000L) != 0L)
-            return jjStopAtPos(1, 114);
-         else if ((active1 & 0x8000000000000L) != 0L)
-            return jjStopAtPos(1, 115);
-         else if ((active1 & 0x10000000000000L) != 0L)
-            return jjStopAtPos(1, 116);
-         else if ((active1 & 0x20000000000000L) != 0L)
-            return jjStopAtPos(1, 117);
-         else if ((active1 & 0x40000000000000L) != 0L)
-            return jjStopAtPos(1, 118);
-         else if ((active1 & 0x80000000000000L) != 0L)
-            return jjStopAtPos(1, 119);
-         else if ((active1 & 0x100000000000000L) != 0L)
-            return jjStopAtPos(1, 120);
-         break;
-      case 62:
-         if ((active1 & 0x4000000000000000L) != 0L)
-         {
-            jjmatchedKind = 126;
-            jjmatchedPos = 1;
-         }
-         return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x2c00000000000000L);
-      case 97:
-         return jjMoveStringLiteralDfa2_0(active0, 0x240020060000L, active1, 0L);
-      case 98:
-         return jjMoveStringLiteralDfa2_0(active0, 0x1000L, active1, 0L);
-      case 101:
-         return jjMoveStringLiteralDfa2_0(active0, 0x2080000800000L, active1, 0L);
-      case 102:
-         if ((active0 & 0x800000000L) != 0L)
-            return jjStartNfaWithStates_0(1, 35, 37);
-         break;
-      case 104:
-         return jjMoveStringLiteralDfa2_0(active0, 0x704000000080000L, active1, 0x1L);
-      case 105:
-         return jjMoveStringLiteralDfa2_0(active0, 0xc0000000L, active1, 0L);
-      case 108:
-         return jjMoveStringLiteralDfa2_0(active0, 0x104100000L, active1, 0L);
-      case 109:
-         return jjMoveStringLiteralDfa2_0(active0, 0x3000000000L, active1, 0L);
-      case 110:
-         return jjMoveStringLiteralDfa2_0(active0, 0x1c008000000L, active1, 0L);
-      case 111:
-         if ((active0 & 0x1000000L) != 0L)
-         {
-            jjmatchedKind = 24;
-            jjmatchedPos = 1;
-         }
-         return jjMoveStringLiteralDfa2_0(active0, 0xc000020602604000L, active1, 0L);
-      case 114:
-         return jjMoveStringLiteralDfa2_0(active0, 0x3800c00000008000L, active1, 0L);
-      case 115:
-         return jjMoveStringLiteralDfa2_0(active0, 0x2000L, active1, 0L);
-      case 116:
-         return jjMoveStringLiteralDfa2_0(active0, 0x18000000000000L, active1, 0L);
-      case 117:
-         return jjMoveStringLiteralDfa2_0(active0, 0x21100000000000L, active1, 0L);
-      case 119:
-         return jjMoveStringLiteralDfa2_0(active0, 0x40000000000000L, active1, 0L);
-      case 120:
-         return jjMoveStringLiteralDfa2_0(active0, 0x10000000L, active1, 0L);
-      case 121:
-         return jjMoveStringLiteralDfa2_0(active0, 0x80000000010000L, active1, 0L);
-      case 124:
-         if ((active1 & 0x1000000000L) != 0L)
-            return jjStopAtPos(1, 100);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(0, active0, active1, 0L);
-}
-private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1)
-{
-   if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(0, old0, old1, 0L);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(1, active0, active1, 0L);
-      return 2;
-   }
-   switch(curChar)
-   {
-      case 46:
-         if ((active1 & 0x1000000000000000L) != 0L)
-            return jjStopAtPos(2, 124);
-         break;
-      case 61:
-         if ((active1 & 0x200000000000000L) != 0L)
-            return jjStopAtPos(2, 121);
-         else if ((active1 & 0x400000000000000L) != 0L)
-            return jjStopAtPos(2, 122);
-         break;
-      case 62:
-         if ((active1 & 0x2000000000000000L) != 0L)
-         {
-            jjmatchedKind = 125;
-            jjmatchedPos = 2;
-         }
-         return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x800000000000000L);
-      case 97:
-         return jjMoveStringLiteralDfa3_0(active0, 0x808000000180000L, active1, 0L);
-      case 98:
-         return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000L, active1, 0L);
-      case 99:
-         return jjMoveStringLiteralDfa3_0(active0, 0x200000000000L, active1, 0L);
-      case 101:
-         return jjMoveStringLiteralDfa3_0(active0, 0x8000L, active1, 0L);
-      case 102:
-         return jjMoveStringLiteralDfa3_0(active0, 0x800000L, active1, 0L);
-      case 105:
-         return jjMoveStringLiteralDfa3_0(active0, 0x4140400000000000L, active1, 0x1L);
-      case 108:
-         return jjMoveStringLiteralDfa3_0(active0, 0x8000100020000000L, active1, 0L);
-      case 110:
-         return jjMoveStringLiteralDfa3_0(active0, 0x800200c0600000L, active1, 0L);
-      case 111:
-         return jjMoveStringLiteralDfa3_0(active0, 0x4800100004000L, active1, 0L);
-      case 112:
-         return jjMoveStringLiteralDfa3_0(active0, 0x20003000000000L, active1, 0L);
-      case 114:
-         if ((active0 & 0x200000000L) != 0L)
-            return jjStartNfaWithStates_0(2, 33, 37);
-         return jjMoveStringLiteralDfa3_0(active0, 0x610000000000000L, active1, 0L);
-      case 115:
-         return jjMoveStringLiteralDfa3_0(active0, 0x4004023000L, active1, 0L);
-      case 116:
-         if ((active0 & 0x8000000000L) != 0L)
-         {
-            jjmatchedKind = 39;
-            jjmatchedPos = 2;
-         }
-         return jjMoveStringLiteralDfa3_0(active0, 0x2050410050000L, active1, 0L);
-      case 117:
-         return jjMoveStringLiteralDfa3_0(active0, 0x100000000a000000L, active1, 0L);
-      case 119:
-         if ((active0 & 0x80000000000L) != 0L)
-            return jjStartNfaWithStates_0(2, 43, 37);
-         break;
-      case 121:
-         if ((active0 & 0x2000000000000000L) != 0L)
-            return jjStartNfaWithStates_0(2, 61, 37);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(1, active0, active1, 0L);
-}
-private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1)
-{
-   if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(1, old0, old1, 0L);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(2, active0, active1, 0L);
-      return 3;
-   }
-   switch(curChar)
-   {
-      case 61:
-         if ((active1 & 0x800000000000000L) != 0L)
-            return jjStopAtPos(3, 123);
-         break;
-      case 97:
-         return jjMoveStringLiteralDfa4_0(active0, 0x80000001c0808000L, active1, 0L);
-      case 98:
-         return jjMoveStringLiteralDfa4_0(active0, 0x2000000L, active1, 0L);
-      case 99:
-         return jjMoveStringLiteralDfa4_0(active0, 0x80000000040000L, active1, 0L);
-      case 100:
-         if ((active0 & 0x4000000000000000L) != 0L)
-            return jjStartNfaWithStates_0(3, 62, 37);
-         break;
-      case 101:
-         if ((active0 & 0x10000L) != 0L)
-            return jjStartNfaWithStates_0(3, 16, 37);
-         else if ((active0 & 0x20000L) != 0L)
-            return jjStartNfaWithStates_0(3, 17, 37);
-         else if ((active0 & 0x4000000L) != 0L)
-            return jjStartNfaWithStates_0(3, 26, 37);
-         else if ((active0 & 0x1000000000000000L) != 0L)
-            return jjStartNfaWithStates_0(3, 60, 37);
-         return jjMoveStringLiteralDfa4_0(active0, 0x20010010002000L, active1, 0L);
-      case 103:
-         if ((active0 & 0x20000000000L) != 0L)
-            return jjStartNfaWithStates_0(3, 41, 37);
-         break;
-      case 105:
-         return jjMoveStringLiteralDfa4_0(active0, 0x10040000000000L, active1, 0L);
-      case 107:
-         return jjMoveStringLiteralDfa4_0(active0, 0x200000000000L, active1, 0L);
-      case 108:
-         if ((active0 & 0x100000000000L) != 0L)
-            return jjStartNfaWithStates_0(3, 44, 37);
-         return jjMoveStringLiteralDfa4_0(active0, 0x1001000004000L, active1, 0x1L);
-      case 109:
-         if ((active0 & 0x8000000L) != 0L)
-            return jjStartNfaWithStates_0(3, 27, 37);
-         break;
-      case 110:
-         return jjMoveStringLiteralDfa4_0(active0, 0x800000000000000L, active1, 0L);
-      case 111:
-         if ((active0 & 0x400000000L) != 0L)
-            return jjStartNfaWithStates_0(3, 34, 37);
-         return jjMoveStringLiteralDfa4_0(active0, 0x600002000000000L, active1, 0L);
-      case 114:
-         if ((active0 & 0x80000L) != 0L)
-            return jjStartNfaWithStates_0(3, 19, 37);
-         return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L, active1, 0L);
-      case 115:
-         if ((active0 & 0x100000000000000L) != 0L)
-            return jjStartNfaWithStates_0(3, 56, 37);
-         return jjMoveStringLiteralDfa4_0(active0, 0x20300000L, active1, 0L);
-      case 116:
-         return jjMoveStringLiteralDfa4_0(active0, 0x48804000401000L, active1, 0L);
-      case 117:
-         return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000L, active1, 0L);
-      case 118:
-         return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L, active1, 0L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(2, active0, active1, 0L);
-}
-private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long active1)
-{
-   if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(2, old0, old1, 0L);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(3, active0, active1, 0L);
-      return 4;
-   }
-   switch(curChar)
-   {
-      case 97:
-         return jjMoveStringLiteralDfa5_0(active0, 0x604000000000L, active1, 0L);
-      case 99:
-         return jjMoveStringLiteralDfa5_0(active0, 0x50000000000000L, active1, 0L);
-      case 101:
-         if ((active0 & 0x20000000L) != 0L)
-            return jjStartNfaWithStates_0(4, 29, 37);
-         else if ((active1 & 0x1L) != 0L)
-            return jjStartNfaWithStates_0(4, 64, 37);
-         return jjMoveStringLiteralDfa5_0(active0, 0x801000004000L, active1, 0L);
-      case 104:
-         if ((active0 & 0x40000L) != 0L)
-            return jjStartNfaWithStates_0(4, 18, 37);
-         return jjMoveStringLiteralDfa5_0(active0, 0x80000000000000L, active1, 0L);
-      case 105:
-         return jjMoveStringLiteralDfa5_0(active0, 0x9000000400000L, active1, 0L);
-      case 107:
-         if ((active0 & 0x8000L) != 0L)
-            return jjStartNfaWithStates_0(4, 15, 37);
-         break;
-      case 108:
-         if ((active0 & 0x40000000L) != 0L)
-         {
-            jjmatchedKind = 30;
-            jjmatchedPos = 4;
-         }
-         return jjMoveStringLiteralDfa5_0(active0, 0x82000000L, active1, 0L);
-      case 110:
-         return jjMoveStringLiteralDfa5_0(active0, 0x10000000L, active1, 0L);
-      case 114:
-         if ((active0 & 0x20000000000000L) != 0L)
-            return jjStartNfaWithStates_0(4, 53, 37);
-         return jjMoveStringLiteralDfa5_0(active0, 0x2012000003000L, active1, 0L);
-      case 115:
-         if ((active0 & 0x100000L) != 0L)
-            return jjStartNfaWithStates_0(4, 20, 37);
-         return jjMoveStringLiteralDfa5_0(active0, 0x800000000000000L, active1, 0L);
-      case 116:
-         if ((active0 & 0x200000L) != 0L)
-            return jjStartNfaWithStates_0(4, 21, 37);
-         else if ((active0 & 0x100000000L) != 0L)
-            return jjStartNfaWithStates_0(4, 32, 37);
-         else if ((active0 & 0x4000000000000L) != 0L)
-            return jjStartNfaWithStates_0(4, 50, 37);
-         return jjMoveStringLiteralDfa5_0(active0, 0x8000000000000000L, active1, 0L);
-      case 117:
-         return jjMoveStringLiteralDfa5_0(active0, 0x800000L, active1, 0L);
-      case 118:
-         return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L, active1, 0L);
-      case 119:
-         if ((active0 & 0x200000000000000L) != 0L)
-         {
-            jjmatchedKind = 57;
-            jjmatchedPos = 4;
-         }
-         return jjMoveStringLiteralDfa5_0(active0, 0x400000000000000L, active1, 0L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(3, active0, active1, 0L);
-}
-private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long active1)
-{
-   if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(3, old0, old1, 0L);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(4, active0, 0L, 0L);
-      return 5;
-   }
-   switch(curChar)
-   {
-      case 97:
-         return jjMoveStringLiteralDfa6_0(active0, 0x5000L);
-      case 99:
-         if ((active0 & 0x1000000000000L) != 0L)
-            return jjStartNfaWithStates_0(5, 48, 37);
-         else if ((active0 & 0x8000000000000L) != 0L)
-            return jjStartNfaWithStates_0(5, 51, 37);
-         return jjMoveStringLiteralDfa6_0(active0, 0x800000000000L);
-      case 100:
-         return jjMoveStringLiteralDfa6_0(active0, 0x10000000L);
-      case 101:
-         if ((active0 & 0x2000000L) != 0L)
-            return jjStartNfaWithStates_0(5, 25, 37);
-         else if ((active0 & 0x40000000000L) != 0L)
-            return jjStartNfaWithStates_0(5, 42, 37);
-         break;
-      case 102:
-         return jjMoveStringLiteralDfa6_0(active0, 0x10000000000L);
-      case 103:
-         return jjMoveStringLiteralDfa6_0(active0, 0x200000000000L);
-      case 104:
-         if ((active0 & 0x40000000000000L) != 0L)
-            return jjStartNfaWithStates_0(5, 54, 37);
-         break;
-      case 105:
-         return jjMoveStringLiteralDfa6_0(active0, 0x8800000000000000L);
-      case 108:
-         return jjMoveStringLiteralDfa6_0(active0, 0x80800000L);
-      case 109:
-         return jjMoveStringLiteralDfa6_0(active0, 0x1000000000L);
-      case 110:
-         if ((active0 & 0x2000000000000L) != 0L)
-            return jjStartNfaWithStates_0(5, 49, 37);
-         return jjMoveStringLiteralDfa6_0(active0, 0x4000400000L);
-      case 114:
-         return jjMoveStringLiteralDfa6_0(active0, 0x80000000000000L);
-      case 115:
-         if ((active0 & 0x400000000000000L) != 0L)
-            return jjStartNfaWithStates_0(5, 58, 37);
-         break;
-      case 116:
-         if ((active0 & 0x2000L) != 0L)
-            return jjStartNfaWithStates_0(5, 13, 37);
-         else if ((active0 & 0x2000000000L) != 0L)
-            return jjStartNfaWithStates_0(5, 37, 37);
-         return jjMoveStringLiteralDfa6_0(active0, 0x10400000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(4, active0, 0L, 0L);
-}
-private int jjMoveStringLiteralDfa6_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(4, old0, 0L, 0L);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(5, active0, 0L, 0L);
-      return 6;
-   }
-   switch(curChar)
-   {
-      case 97:
-         return jjMoveStringLiteralDfa7_0(active0, 0x10000000000L);
-      case 99:
-         return jjMoveStringLiteralDfa7_0(active0, 0x4000001000L);
-      case 101:
-         if ((active0 & 0x200000000000L) != 0L)
-            return jjStartNfaWithStates_0(6, 45, 37);
-         else if ((active0 & 0x400000000000L) != 0L)
-            return jjStartNfaWithStates_0(6, 46, 37);
-         return jjMoveStringLiteralDfa7_0(active0, 0x800001000000000L);
-      case 102:
-         return jjMoveStringLiteralDfa7_0(active0, 0x10000000000000L);
-      case 108:
-         return jjMoveStringLiteralDfa7_0(active0, 0x8000000000000000L);
-      case 110:
-         if ((active0 & 0x4000L) != 0L)
-            return jjStartNfaWithStates_0(6, 14, 37);
-         break;
-      case 111:
-         return jjMoveStringLiteralDfa7_0(active0, 0x80000000000000L);
-      case 115:
-         if ((active0 & 0x10000000L) != 0L)
-            return jjStartNfaWithStates_0(6, 28, 37);
-         break;
-      case 116:
-         if ((active0 & 0x800000L) != 0L)
-            return jjStartNfaWithStates_0(6, 23, 37);
-         return jjMoveStringLiteralDfa7_0(active0, 0x800000000000L);
-      case 117:
-         return jjMoveStringLiteralDfa7_0(active0, 0x400000L);
-      case 121:
-         if ((active0 & 0x80000000L) != 0L)
-            return jjStartNfaWithStates_0(6, 31, 37);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(5, active0, 0L, 0L);
-}
-private int jjMoveStringLiteralDfa7_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(5, old0, 0L, 0L);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(6, active0, 0L, 0L);
-      return 7;
-   }
-   switch(curChar)
-   {
-      case 99:
-         return jjMoveStringLiteralDfa8_0(active0, 0x10000000000L);
-      case 101:
-         if ((active0 & 0x400000L) != 0L)
-            return jjStartNfaWithStates_0(7, 22, 37);
-         else if ((active0 & 0x8000000000000000L) != 0L)
-            return jjStartNfaWithStates_0(7, 63, 37);
-         return jjMoveStringLiteralDfa8_0(active0, 0x804000000000L);
-      case 110:
-         return jjMoveStringLiteralDfa8_0(active0, 0x880001000000000L);
-      case 112:
-         if ((active0 & 0x10000000000000L) != 0L)
-            return jjStartNfaWithStates_0(7, 52, 37);
-         break;
-      case 116:
-         if ((active0 & 0x1000L) != 0L)
-            return jjStartNfaWithStates_0(7, 12, 37);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(6, active0, 0L, 0L);
-}
-private int jjMoveStringLiteralDfa8_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(6, old0, 0L, 0L);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(7, active0, 0L, 0L);
-      return 8;
-   }
-   switch(curChar)
-   {
-      case 100:
-         if ((active0 & 0x800000000000L) != 0L)
-            return jjStartNfaWithStates_0(8, 47, 37);
-         break;
-      case 101:
-         if ((active0 & 0x10000000000L) != 0L)
-            return jjStartNfaWithStates_0(8, 40, 37);
-         break;
-      case 105:
-         return jjMoveStringLiteralDfa9_0(active0, 0x80000000000000L);
-      case 111:
-         return jjMoveStringLiteralDfa9_0(active0, 0x4000000000L);
-      case 116:
-         if ((active0 & 0x800000000000000L) != 0L)
-            return jjStartNfaWithStates_0(8, 59, 37);
-         return jjMoveStringLiteralDfa9_0(active0, 0x1000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(7, active0, 0L, 0L);
-}
-private int jjMoveStringLiteralDfa9_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(7, old0, 0L, 0L);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(8, active0, 0L, 0L);
-      return 9;
-   }
-   switch(curChar)
-   {
-      case 102:
-         if ((active0 & 0x4000000000L) != 0L)
-            return jjStartNfaWithStates_0(9, 38, 37);
-         break;
-      case 115:
-         if ((active0 & 0x1000000000L) != 0L)
-            return jjStartNfaWithStates_0(9, 36, 37);
-         break;
-      case 122:
-         return jjMoveStringLiteralDfa10_0(active0, 0x80000000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(8, active0, 0L, 0L);
-}
-private int jjMoveStringLiteralDfa10_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(8, old0, 0L, 0L);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(9, active0, 0L, 0L);
-      return 10;
-   }
-   switch(curChar)
-   {
-      case 101:
-         return jjMoveStringLiteralDfa11_0(active0, 0x80000000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(9, active0, 0L, 0L);
-}
-private int jjMoveStringLiteralDfa11_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(9, old0, 0L, 0L);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(10, active0, 0L, 0L);
-      return 11;
-   }
-   switch(curChar)
-   {
-      case 100:
-         if ((active0 & 0x80000000000000L) != 0L)
-            return jjStartNfaWithStates_0(11, 55, 37);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(10, active0, 0L, 0L);
-}
-private int jjStartNfaWithStates_0(int pos, int kind, int state)
-{
-   jjmatchedKind = kind;
-   jjmatchedPos = pos;
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) { return pos + 1; }
-   return jjMoveNfa_0(state, pos + 1);
-}
-static final long[] jjbitVec0 = {
-   0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
-};
-static final long[] jjbitVec2 = {
-   0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
-};
-static final long[] jjbitVec3 = {
-   0xfff0000000200002L, 0xffffffffffffdfffL, 0xfffff00f7fffffffL, 0x12000000007fffffL
-};
-static final long[] jjbitVec4 = {
-   0x0L, 0x0L, 0x420043c00000000L, 0xff7fffffff7fffffL
-};
-static final long[] jjbitVec5 = {
-   0x7fffffffffffffL, 0xffffffffffff0000L, 0xffffffffffffffffL, 0x401f0003ffc3L
-};
-static final long[] jjbitVec6 = {
-   0x0L, 0x400000000000000L, 0xfffffffbffffd740L, 0xfbfffffffff7fffL
-};
-static final long[] jjbitVec7 = {
-   0xffffffffffffffffL, 0xffffffffffffffffL, 0xfffffffffffffc03L, 0x33fffffffff7fffL
-};
-static final long[] jjbitVec8 = {
-   0xfffe00000000ffffL, 0xfffffffe027fffffL, 0xffL, 0x707ffffff0000L
-};
-static final long[] jjbitVec9 = {
-   0x7fffffe00000000L, 0xfffec000000007ffL, 0xffffffffffffffffL, 0x9c00c060002fffffL
-};
-static final long[] jjbitVec10 = {
-   0xfffffffd0000L, 0xe000L, 0x2003fffffffffL, 0x0L
-};
-static final long[] jjbitVec11 = {
-   0x23fffffffffffff0L, 0x3ff010000L, 0x23c5fdfffff99fe0L, 0xf0003b0000000L
-};
-static final long[] jjbitVec12 = {
-   0x36dfdfffff987e0L, 0x1c00005e000000L, 0x23edfdfffffbbfe0L, 0x2000300010000L
-};
-static final long[] jjbitVec13 = {
-   0x23edfdfffff99fe0L, 0x20003b0000000L, 0x3bfc718d63dc7e8L, 0x200000000000000L
-};
-static final long[] jjbitVec14 = {
-   0x3effdfffffddfe0L, 0x300000000L, 0x23effdfffffddfe0L, 0x340000000L
-};
-static final long[] jjbitVec15 = {
-   0x3fffdfffffddfe0L, 0x300000000L, 0x2ffbfffffc7fffe0L, 0x7fL
-};
-static final long[] jjbitVec16 = {
-   0x800dfffffffffffeL, 0x7fL, 0x200decaefef02596L, 0x3000005fL
-};
-static final long[] jjbitVec17 = {
-   0x1L, 0x7fffffffeffL, 0xf00L, 0x0L
-};
-static final long[] jjbitVec18 = {
-   0x6fbffffffffL, 0x3f0000L, 0xffffffff00000000L, 0x1ffffffffff003fL
-};
-static final long[] jjbitVec19 = {
-   0xffffffffffffffffL, 0xffffffff83ffffffL, 0xffffff07ffffffffL, 0x3ffffffffffffffL
-};
-static final long[] jjbitVec20 = {
-   0xffffffffffffff7fL, 0xffffffff3d7f3d7fL, 0x7f3d7fffffff3d7fL, 0xffff7fffff7f7f3dL
-};
-static final long[] jjbitVec21 = {
-   0xffffffff7f3d7fffL, 0x7ffff7fL, 0xffffffff00000000L, 0x1fffffffffffffL
-};
-static final long[] jjbitVec22 = {
-   0xffffffffffffffffL, 0x7f9fffffffffffL, 0xffffffff07fffffeL, 0x1c7ffffffffffL
-};
-static final long[] jjbitVec23 = {
-   0x3ffff0003dfffL, 0x1dfff0003ffffL, 0xfffffffffffffL, 0x18800000L
-};
-static final long[] jjbitVec24 = {
-   0xffffffff00000000L, 0xffffffffffffffL, 0x1ffffffffffL, 0x0L
-};
-static final long[] jjbitVec25 = {
-   0x1fffffffL, 0x1f3fffffff0000L, 0x0L, 0x0L
-};
-static final long[] jjbitVec26 = {
-   0xffffffffffffffffL, 0xfffffffffffL, 0x0L, 0x0L
-};
-static final long[] jjbitVec27 = {
-   0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffff0fffffffL, 0x3ffffffffffffffL
-};
-static final long[] jjbitVec28 = {
-   0xffffffff3f3fffffL, 0x3fffffffaaff3f3fL, 0x5fdfffffffffffffL, 0x1fdc1fff0fcf1fdcL
-};
-static final long[] jjbitVec29 = {
-   0x8000000000000000L, 0x8002000000100001L, 0x3ffff00000000L, 0x0L
-};
-static final long[] jjbitVec30 = {
-   0xe3fbbd503e2ffc84L, 0xffffffff000003e0L, 0xfL, 0x0L
-};
-static final long[] jjbitVec31 = {
-   0x1f3e03fe000000e0L, 0xfffffffffffffffeL, 0xfffffffee07fffffL, 0xffffffffffffffffL
-};
-static final long[] jjbitVec32 = {
-   0xfffe1fffffffffe0L, 0xffffffffffffffffL, 0xffffff00007fffL, 0xffff000000000000L
-};
-static final long[] jjbitVec33 = {
-   0xffffffffffffffffL, 0xffffffffffffffffL, 0x3fffffffffffffL, 0x0L
-};
-static final long[] jjbitVec34 = {
-   0xffffffffffffffffL, 0xffffffffffffffffL, 0x3fffffffffL, 0x0L
-};
-static final long[] jjbitVec35 = {
-   0xffffffffffffffffL, 0xffffffffffffffffL, 0x1fffL, 0x0L
-};
-static final long[] jjbitVec36 = {
-   0xffffffffffffffffL, 0xffffffffffffffffL, 0xfffffffffL, 0x0L
-};
-static final long[] jjbitVec37 = {
-   0x6L, 0x0L, 0x0L, 0x0L
-};
-static final long[] jjbitVec38 = {
-   0xffff3fffffffffffL, 0x7ffffffffffL, 0x0L, 0x0L
-};
-static final long[] jjbitVec39 = {
-   0x5f7ffdffa0f8007fL, 0xffffffffffffffdbL, 0x3ffffffffffffL, 0xfffffffffff80000L
-};
-static final long[] jjbitVec40 = {
-   0x3fffffffffffffffL, 0xffffffffffff0000L, 0xfffffffffffcffffL, 0x1fff0000000000ffL
-};
-static final long[] jjbitVec41 = {
-   0x18000000000000L, 0xffdf02000000e000L, 0xffffffffffffffffL, 0x1fffffffffffffffL
-};
-static final long[] jjbitVec42 = {
-   0x87fffffe00000010L, 0xffffffe007fffffeL, 0x7fffffffffffffffL, 0x631cfcfcfcL
-};
-static final long[] jjbitVec43 = {
-   0x0L, 0x0L, 0x420243cffffffffL, 0xff7fffffff7fffffL
-};
-static final long[] jjbitVec44 = {
-   0xffffffffffffffffL, 0x400ffffe0ffffffL, 0xfffffffbffffd740L, 0xfbfffffffff7fffL
-};
-static final long[] jjbitVec45 = {
-   0xffffffffffffffffL, 0xffffffffffffffffL, 0xfffffffffffffc7bL, 0x33fffffffff7fffL
-};
-static final long[] jjbitVec46 = {
-   0xfffe00000000ffffL, 0xfffffffe027fffffL, 0xbbfffffbfffe00ffL, 0x707ffffff0016L
-};
-static final long[] jjbitVec47 = {
-   0x7fffffe003f000fL, 0xffffc3ff01ffffffL, 0xffffffffffffffffL, 0x9ffffdffbfefffffL
-};
-static final long[] jjbitVec48 = {
-   0xffffffffffff8000L, 0xe7ffL, 0x3ffffffffffffL, 0x0L
-};
-static final long[] jjbitVec49 = {
-   0xf3fffffffffffffeL, 0xffcfff1f3fffL, 0xf3c5fdfffff99feeL, 0xfffcfb080399fL
-};
-static final long[] jjbitVec50 = {
-   0xd36dfdfffff987eeL, 0x1fffc05e003987L, 0xf3edfdfffffbbfeeL, 0x2ffcf00013bbfL
-};
-static final long[] jjbitVec51 = {
-   0xf3edfdfffff99feeL, 0x2ffc3b0c0398fL, 0xc3bfc718d63dc7ecL, 0x200ff8000803dc7L
-};
-static final long[] jjbitVec52 = {
-   0xc3effdfffffddfeeL, 0xffc300603ddfL, 0xf3effdfffffddfecL, 0xffc340603ddfL
-};
-static final long[] jjbitVec53 = {
-   0xc3fffdfffffddfecL, 0xffc300803dcfL, 0x2ffbfffffc7fffecL, 0xc0000ff5f847fL
-};
-static final long[] jjbitVec54 = {
-   0x87fffffffffffffeL, 0x3ff7fffL, 0x3bffecaefef02596L, 0x33ff3f5fL
-};
-static final long[] jjbitVec55 = {
-   0xc2a003ff03000001L, 0xfffe07fffffffeffL, 0x1ffffffffeff0fdfL, 0x40L
-};
-static final long[] jjbitVec56 = {
-   0x3c7f6fbffffffffL, 0x3ff03ffL, 0xffffffff00000000L, 0x1ffffffffff003fL
-};
-static final long[] jjbitVec57 = {
-   0xffffffff7f3d7fffL, 0x3fe0007ffff7fL, 0xffffffff00000000L, 0x1fffffffffffffL
-};
-static final long[] jjbitVec58 = {
-   0x1fffff001fdfffL, 0xddfff000fffffL, 0xffffffffffffffffL, 0x3ff388fffffL
-};
-static final long[] jjbitVec59 = {
-   0xffffffff03ff3800L, 0xffffffffffffffL, 0x3ffffffffffL, 0x0L
-};
-static final long[] jjbitVec60 = {
-   0xfff0fff1fffffffL, 0x1f3fffffffffc0L, 0x0L, 0x0L
-};
-static final long[] jjbitVec61 = {
-   0x80007c000000f000L, 0x8002fc0f00100001L, 0x3ffff00000000L, 0x7e21fff0000L
-};
-static final long[] jjbitVec62 = {
-   0x1f3efffe000000e0L, 0xfffffffffffffffeL, 0xfffffffee67fffffL, 0xffffffffffffffffL
-};
-static final long[] jjbitVec63 = {
-   0x10000000000006L, 0x0L, 0x0L, 0x0L
-};
-static final long[] jjbitVec64 = {
-   0x3L, 0x0L, 0x0L, 0x0L
-};
-static final long[] jjbitVec65 = {
-   0x0L, 0x800000000000000L, 0x0L, 0x0L
-};
-static final long[] jjbitVec66 = {
-   0x5f7ffdffe0f8007fL, 0xffffffffffffffdbL, 0x3ffffffffffffL, 0xfffffffffff80000L
-};
-static final long[] jjbitVec67 = {
-   0x18000f0000ffffL, 0xffdf02000000e000L, 0xffffffffffffffffL, 0x9fffffffffffffffL
-};
-static final long[] jjbitVec68 = {
-   0x87fffffe03ff0010L, 0xffffffe007fffffeL, 0x7fffffffffffffffL, 0xe0000631cfcfcfcL
-};
-private int jjMoveNfa_0(int startState, int curPos)
-{
-   int startsAt = 0;
-   jjnewStateCnt = 86;
-   int i = 1;
-   jjstateSet[0] = startState;
-   int kind = 0x7fffffff;
-   for (;;)
-   {
-      if (++jjround == 0x7fffffff)
-         ReInitRounds();
-      if (curChar < 64)
-      {
-         long l = 1L << curChar;
-         do
-         {
-            switch(jjstateSet[--i])
-            {
-               case 54:
-                  if (curChar == 42)
-                     jjstateSet[jjnewStateCnt++] = 59;
-                  else if (curChar == 47)
-                  {
-                     if (kind > 6)
-                        kind = 6;
-                     jjCheckNAddStates(0, 2);
-                  }
-                  break;
-               case 0:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(3, 9);
-                  else if (curChar == 47)
-                     jjAddStates(10, 11);
-                  else if (curChar == 36)
-                  {
-                     if (kind > 77)
-                        kind = 77;
-                     jjCheckNAdd(37);
-                  }
-                  else if (curChar == 34)
-                     jjCheckNAddStates(12, 15);
-                  else if (curChar == 39)
-                     jjAddStates(16, 18);
-                  else if (curChar == 46)
-                     jjCheckNAdd(1);
-                  if ((0x3fe000000000000L & l) != 0L)
-                  {
-                     if (kind > 66)
-                        kind = 66;
-                     jjCheckNAddStates(19, 21);
-                  }
-                  else if (curChar == 48)
-                  {
-                     if (kind > 66)
-                        kind = 66;
-                     jjCheckNAddStates(22, 28);
-                  }
-                  break;
-               case 1:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 70)
-                     kind = 70;
-                  jjCheckNAddStates(29, 31);
-                  break;
-               case 3:
-                  if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(4);
-                  break;
-               case 4:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 70)
-                     kind = 70;
-                  jjCheckNAddTwoStates(4, 5);
-                  break;
-               case 6:
-                  if (curChar == 39)
-                     jjAddStates(16, 18);
-                  break;
-               case 7:
-                  if ((0xffffff7fffffdbffL & l) != 0L)
-                     jjCheckNAdd(8);
-                  break;
-               case 8:
-                  if (curChar == 39 && kind > 75)
-                     kind = 75;
-                  break;
-               case 10:
-                  if ((0x8400000000L & l) != 0L)
-                     jjCheckNAdd(8);
-                  break;
-               case 11:
-                  if ((0xff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(12, 8);
-                  break;
-               case 12:
-                  if ((0xff000000000000L & l) != 0L)
-                     jjCheckNAdd(8);
-                  break;
-               case 13:
-                  if ((0xf000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 14;
-                  break;
-               case 14:
-                  if ((0xff000000000000L & l) != 0L)
-                     jjCheckNAdd(12);
-                  break;
-               case 16:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 17;
-                  break;
-               case 17:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 18;
-                  break;
-               case 18:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 19;
-                  break;
-               case 19:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAdd(8);
-                  break;
-               case 21:
-                  if (curChar == 34)
-                     jjCheckNAddStates(12, 15);
-                  break;
-               case 22:
-                  if ((0xfffffffbffffdbffL & l) != 0L)
-                     jjCheckNAddStates(12, 15);
-                  break;
-               case 24:
-                  if ((0x8400000000L & l) != 0L)
-                     jjCheckNAddStates(12, 15);
-                  break;
-               case 26:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 27;
-                  break;
-               case 27:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 28;
-                  break;
-               case 28:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 29;
-                  break;
-               case 29:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(12, 15);
-                  break;
-               case 31:
-                  if (curChar == 34 && kind > 76)
-                     kind = 76;
-                  break;
-               case 32:
-                  if ((0xff000000000000L & l) != 0L)
-                     jjCheckNAddStates(32, 36);
-                  break;
-               case 33:
-                  if ((0xff000000000000L & l) != 0L)
-                     jjCheckNAddStates(12, 15);
-                  break;
-               case 34:
-                  if ((0xf000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 35;
-                  break;
-               case 35:
-                  if ((0xff000000000000L & l) != 0L)
-                     jjCheckNAdd(33);
-                  break;
-               case 36:
-                  if (curChar != 36)
-                     break;
-                  if (kind > 77)
-                     kind = 77;
-                  jjCheckNAdd(37);
-                  break;
-               case 37:
-                  if ((0x3ff00100fffc1ffL & l) == 0L)
-                     break;
-                  if (kind > 77)
-                     kind = 77;
-                  jjCheckNAdd(37);
-                  break;
-               case 38:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(3, 9);
-                  break;
-               case 39:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(37, 39);
-                  break;
-               case 41:
-                  if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(42);
-                  break;
-               case 42:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(42, 5);
-                  break;
-               case 43:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(43, 44);
-                  break;
-               case 45:
-                  if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(46);
-                  break;
-               case 46:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 70)
-                     kind = 70;
-                  jjCheckNAddTwoStates(46, 5);
-                  break;
-               case 47:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(47, 48);
-                  break;
-               case 48:
-                  if (curChar != 46)
-                     break;
-                  if (kind > 70)
-                     kind = 70;
-                  jjCheckNAddStates(40, 42);
-                  break;
-               case 49:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 70)
-                     kind = 70;
-                  jjCheckNAddStates(40, 42);
-                  break;
-               case 51:
-                  if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(52);
-                  break;
-               case 52:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 70)
-                     kind = 70;
-                  jjCheckNAddTwoStates(52, 5);
-                  break;
-               case 53:
-                  if (curChar == 47)
-                     jjAddStates(10, 11);
-                  break;
-               case 55:
-                  if ((0xffffffffffffdbffL & l) == 0L)
-                     break;
-                  if (kind > 6)
-                     kind = 6;
-                  jjCheckNAddStates(0, 2);
-                  break;
-               case 56:
-                  if ((0x2400L & l) != 0L && kind > 6)
-                     kind = 6;
-                  break;
-               case 57:
-                  if (curChar == 10 && kind > 6)
-                     kind = 6;
-                  break;
-               case 58:
-                  if (curChar == 13)
-                     jjstateSet[jjnewStateCnt++] = 57;
-                  break;
-               case 59:
-                  if (curChar == 42)
-                     jjstateSet[jjnewStateCnt++] = 60;
-                  break;
-               case 60:
-                  if ((0xffff7fffffffffffL & l) != 0L && kind > 7)
-                     kind = 7;
-                  break;
-               case 61:
-                  if (curChar == 42)
-                     jjstateSet[jjnewStateCnt++] = 59;
-                  break;
-               case 62:
-                  if ((0x3fe000000000000L & l) == 0L)
-                     break;
-                  if (kind > 66)
-                     kind = 66;
-                  jjCheckNAddStates(19, 21);
-                  break;
-               case 63:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(63, 64);
-                  break;
-               case 65:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 66)
-                     kind = 66;
-                  jjCheckNAdd(65);
-                  break;
-               case 66:
-                  if (curChar != 48)
-                     break;
-                  if (kind > 66)
-                     kind = 66;
-                  jjCheckNAddStates(22, 28);
-                  break;
-               case 68:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(68, 64);
-                  break;
-               case 69:
-                  if ((0xff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(69, 64);
-                  break;
-               case 71:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 66)
-                     kind = 66;
-                  jjstateSet[jjnewStateCnt++] = 71;
-                  break;
-               case 72:
-                  if ((0xff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 66)
-                     kind = 66;
-                  jjCheckNAdd(72);
-                  break;
-               case 74:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjAddStates(43, 44);
-                  break;
-               case 75:
-                  if (curChar == 46)
-                     jjCheckNAdd(76);
-                  break;
-               case 76:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(76, 77);
-                  break;
-               case 78:
-                  if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(79);
-                  break;
-               case 79:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 70)
-                     kind = 70;
-                  jjCheckNAddTwoStates(79, 5);
-                  break;
-               case 81:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(45, 47);
-                  break;
-               case 82:
-                  if (curChar == 46)
-                     jjCheckNAdd(83);
-                  break;
-               case 84:
-                  if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(85);
-                  break;
-               case 85:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 70)
-                     kind = 70;
-                  jjCheckNAddTwoStates(85, 5);
-                  break;
-               default : break;
+            if (kind != 0x7fffffff) {
+                jjmatchedKind = kind;
+                jjmatchedPos = curPos;
+                kind = 0x7fffffff;
             }
-         } while(i != startsAt);
-      }
-      else if (curChar < 128)
-      {
-         long l = 1L << (curChar & 077);
-         do
-         {
-            switch(jjstateSet[--i])
-            {
-               case 0:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 77)
-                     kind = 77;
-                  jjCheckNAdd(37);
-                  break;
-               case 2:
-                  if ((0x2000000020L & l) != 0L)
-                     jjAddStates(48, 49);
-                  break;
-               case 5:
-                  if ((0x5000000050L & l) != 0L && kind > 70)
-                     kind = 70;
-                  break;
-               case 7:
-                  if ((0xffffffffefffffffL & l) != 0L)
-                     jjCheckNAdd(8);
-                  break;
-               case 9:
-                  if (curChar == 92)
-                     jjAddStates(50, 52);
-                  break;
-               case 10:
-                  if ((0x14404410000000L & l) != 0L)
-                     jjCheckNAdd(8);
-                  break;
-               case 15:
-                  if (curChar == 117)
-                     jjstateSet[jjnewStateCnt++] = 16;
-                  break;
-               case 16:
-                  if ((0x7e0000007eL & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 17;
-                  break;
-               case 17:
-                  if ((0x7e0000007eL & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 18;
-                  break;
-               case 18:
-                  if ((0x7e0000007eL & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 19;
-                  break;
-               case 19:
-                  if ((0x7e0000007eL & l) != 0L)
-                     jjCheckNAdd(8);
-                  break;
-               case 20:
-                  if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 15;
-                  break;
-               case 22:
-                  if ((0xffffffffefffffffL & l) != 0L)
-                     jjCheckNAddStates(12, 15);
-                  break;
-               case 23:
-                  if (curChar == 92)
-                     jjAddStates(53, 55);
-                  break;
-               case 24:
-                  if ((0x14404410000000L & l) != 0L)
-                     jjCheckNAddStates(12, 15);
-                  break;
-               case 25:
-                  if (curChar == 117)
-                     jjstateSet[jjnewStateCnt++] = 26;
-                  break;
-               case 26:
-                  if ((0x7e0000007eL & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 27;
-                  break;
-               case 27:
-                  if ((0x7e0000007eL & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 28;
-                  break;
-               case 28:
-                  if ((0x7e0000007eL & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 29;
-                  break;
-               case 29:
-                  if ((0x7e0000007eL & l) != 0L)
-                     jjCheckNAddStates(12, 15);
-                  break;
-               case 30:
-                  if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 25;
-                  break;
-               case 37:
-                  if ((0x87fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 77)
-                     kind = 77;
-                  jjCheckNAdd(37);
-                  break;
-               case 40:
-                  if ((0x2000000020L & l) != 0L)
-                     jjAddStates(56, 57);
-                  break;
-               case 44:
-                  if ((0x2000000020L & l) != 0L)
-                     jjAddStates(58, 59);
-                  break;
-               case 50:
-                  if ((0x2000000020L & l) != 0L)
-                     jjAddStates(60, 61);
-                  break;
-               case 55:
-                  if (kind > 6)
-                     kind = 6;
-                  jjAddStates(0, 2);
-                  break;
-               case 60:
-                  if (kind > 7)
-                     kind = 7;
-                  break;
-               case 64:
-                  if ((0x100000001000L & l) != 0L && kind > 65)
-                     kind = 65;
-                  break;
-               case 67:
-                  if ((0x100000001000000L & l) != 0L)
-                     jjCheckNAdd(68);
-                  break;
-               case 68:
-                  if ((0x7e0000007eL & l) != 0L)
-                     jjCheckNAddTwoStates(68, 64);
-                  break;
-               case 70:
-                  if ((0x100000001000000L & l) != 0L)
-                     jjCheckNAdd(71);
-                  break;
-               case 71:
-                  if ((0x7e0000007eL & l) == 0L)
-                     break;
-                  if (kind > 66)
-                     kind = 66;
-                  jjCheckNAdd(71);
-                  break;
-               case 73:
-                  if ((0x100000001000000L & l) != 0L)
-                     jjCheckNAddTwoStates(74, 75);
-                  break;
-               case 74:
-                  if ((0x7e0000007eL & l) != 0L)
-                     jjCheckNAddTwoStates(74, 75);
-                  break;
-               case 76:
-                  if ((0x7e0000007eL & l) != 0L)
-                     jjAddStates(62, 63);
-                  break;
-               case 77:
-                  if ((0x1000000010000L & l) != 0L)
-                     jjAddStates(64, 65);
-                  break;
-               case 80:
-                  if ((0x100000001000000L & l) != 0L)
-                     jjCheckNAdd(81);
-                  break;
-               case 81:
-                  if ((0x7e0000007eL & l) != 0L)
-                     jjCheckNAddStates(45, 47);
-                  break;
-               case 83:
-                  if ((0x1000000010000L & l) != 0L)
-                     jjAddStates(66, 67);
-                  break;
-               default : break;
+            ++curPos;
+            if ((i = jjnewStateCnt) == (startsAt = 86 - (jjnewStateCnt = startsAt)))
+                return curPos;
+            try {
+                curChar = input_stream.readChar();
             }
-         } while(i != startsAt);
-      }
-      else
-      {
-         int hiByte = (int)(curChar >> 8);
-         int i1 = hiByte >> 6;
-         long l1 = 1L << (hiByte & 077);
-         int i2 = (curChar & 0xff) >> 6;
-         long l2 = 1L << (curChar & 077);
-         do
-         {
-            switch(jjstateSet[--i])
-            {
-               case 0:
-                  if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
-                     break;
-                  if (kind > 77)
-                     kind = 77;
-                  jjCheckNAdd(37);
-                  break;
-               case 7:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     jjstateSet[jjnewStateCnt++] = 8;
-                  break;
-               case 22:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     jjAddStates(12, 15);
-                  break;
-               case 37:
-                  if (!jjCanMove_2(hiByte, i1, i2, l1, l2))
-                     break;
-                  if (kind > 77)
-                     kind = 77;
-                  jjCheckNAdd(37);
-                  break;
-               case 55:
-                  if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     break;
-                  if (kind > 6)
-                     kind = 6;
-                  jjAddStates(0, 2);
-                  break;
-               case 60:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 7)
-                     kind = 7;
-                  break;
-               default : break;
+            catch (java.io.IOException e) {
+                return curPos;
             }
-         } while(i != startsAt);
-      }
-      if (kind != 0x7fffffff)
-      {
-         jjmatchedKind = kind;
-         jjmatchedPos = curPos;
-         kind = 0x7fffffff;
-      }
-      ++curPos;
-      if ((i = jjnewStateCnt) == (startsAt = 86 - (jjnewStateCnt = startsAt)))
-         return curPos;
-      try { curChar = input_stream.readChar(); }
-      catch(java.io.IOException e) { return curPos; }
-   }
-}
-private int jjMoveStringLiteralDfa0_2()
-{
-   switch(curChar)
-   {
-      case 42:
-         return jjMoveStringLiteralDfa1_2(0x400L);
-      default :
-         return 1;
-   }
-}
-private int jjMoveStringLiteralDfa1_2(long active0)
-{
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      return 1;
-   }
-   switch(curChar)
-   {
-      case 47:
-         if ((active0 & 0x400L) != 0L)
-            return jjStopAtPos(1, 10);
-         break;
-      default :
-         return 2;
-   }
-   return 2;
-}
-private int jjMoveStringLiteralDfa0_1()
-{
-   switch(curChar)
-   {
-      case 42:
-         return jjMoveStringLiteralDfa1_1(0x200L);
-      default :
-         return 1;
-   }
-}
-private int jjMoveStringLiteralDfa1_1(long active0)
-{
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      return 1;
-   }
-   switch(curChar)
-   {
-      case 47:
-         if ((active0 & 0x200L) != 0L)
-            return jjStopAtPos(1, 9);
-         break;
-      default :
-         return 2;
-   }
-   return 2;
-}
-static final int[] jjnextStates = {
-   55, 56, 58, 39, 40, 5, 43, 44, 47, 48, 54, 61, 22, 23, 30, 31, 
-   7, 9, 20, 63, 64, 65, 67, 69, 64, 70, 72, 73, 80, 1, 2, 5, 
-   22, 23, 33, 30, 31, 39, 40, 5, 49, 50, 5, 74, 75, 81, 82, 83, 
-   3, 4, 10, 11, 13, 24, 32, 34, 41, 42, 45, 46, 51, 52, 76, 77, 
-   78, 79, 84, 85, 
-};
-private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
-{
-   switch(hiByte)
-   {
-      case 0:
-         return ((jjbitVec2[i2] & l2) != 0L);
-      default : 
-         if ((jjbitVec0[i1] & l1) != 0L)
-            return true;
-         return false;
-   }
-}
-private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2)
-{
-   switch(hiByte)
-   {
-      case 0:
-         return ((jjbitVec4[i2] & l2) != 0L);
-      case 2:
-         return ((jjbitVec5[i2] & l2) != 0L);
-      case 3:
-         return ((jjbitVec6[i2] & l2) != 0L);
-      case 4:
-         return ((jjbitVec7[i2] & l2) != 0L);
-      case 5:
-         return ((jjbitVec8[i2] & l2) != 0L);
-      case 6:
-         return ((jjbitVec9[i2] & l2) != 0L);
-      case 7:
-         return ((jjbitVec10[i2] & l2) != 0L);
-      case 9:
-         return ((jjbitVec11[i2] & l2) != 0L);
-      case 10:
-         return ((jjbitVec12[i2] & l2) != 0L);
-      case 11:
-         return ((jjbitVec13[i2] & l2) != 0L);
-      case 12:
-         return ((jjbitVec14[i2] & l2) != 0L);
-      case 13:
-         return ((jjbitVec15[i2] & l2) != 0L);
-      case 14:
-         return ((jjbitVec16[i2] & l2) != 0L);
-      case 15:
-         return ((jjbitVec17[i2] & l2) != 0L);
-      case 16:
-         return ((jjbitVec18[i2] & l2) != 0L);
-      case 17:
-         return ((jjbitVec19[i2] & l2) != 0L);
-      case 18:
-         return ((jjbitVec20[i2] & l2) != 0L);
-      case 19:
-         return ((jjbitVec21[i2] & l2) != 0L);
-      case 20:
-         return ((jjbitVec0[i2] & l2) != 0L);
-      case 22:
-         return ((jjbitVec22[i2] & l2) != 0L);
-      case 23:
-         return ((jjbitVec23[i2] & l2) != 0L);
-      case 24:
-         return ((jjbitVec24[i2] & l2) != 0L);
-      case 25:
-         return ((jjbitVec25[i2] & l2) != 0L);
-      case 29:
-         return ((jjbitVec26[i2] & l2) != 0L);
-      case 30:
-         return ((jjbitVec27[i2] & l2) != 0L);
-      case 31:
-         return ((jjbitVec28[i2] & l2) != 0L);
-      case 32:
-         return ((jjbitVec29[i2] & l2) != 0L);
-      case 33:
-         return ((jjbitVec30[i2] & l2) != 0L);
-      case 48:
-         return ((jjbitVec31[i2] & l2) != 0L);
-      case 49:
-         return ((jjbitVec32[i2] & l2) != 0L);
-      case 77:
-         return ((jjbitVec33[i2] & l2) != 0L);
-      case 159:
-         return ((jjbitVec34[i2] & l2) != 0L);
-      case 164:
-         return ((jjbitVec35[i2] & l2) != 0L);
-      case 215:
-         return ((jjbitVec36[i2] & l2) != 0L);
-      case 216:
-         return ((jjbitVec37[i2] & l2) != 0L);
-      case 250:
-         return ((jjbitVec38[i2] & l2) != 0L);
-      case 251:
-         return ((jjbitVec39[i2] & l2) != 0L);
-      case 253:
-         return ((jjbitVec40[i2] & l2) != 0L);
-      case 254:
-         return ((jjbitVec41[i2] & l2) != 0L);
-      case 255:
-         return ((jjbitVec42[i2] & l2) != 0L);
-      default : 
-         if ((jjbitVec3[i1] & l1) != 0L)
-            return true;
-         return false;
-   }
-}
-private static final boolean jjCanMove_2(int hiByte, int i1, int i2, long l1, long l2)
-{
-   switch(hiByte)
-   {
-      case 0:
-         return ((jjbitVec43[i2] & l2) != 0L);
-      case 2:
-         return ((jjbitVec5[i2] & l2) != 0L);
-      case 3:
-         return ((jjbitVec44[i2] & l2) != 0L);
-      case 4:
-         return ((jjbitVec45[i2] & l2) != 0L);
-      case 5:
-         return ((jjbitVec46[i2] & l2) != 0L);
-      case 6:
-         return ((jjbitVec47[i2] & l2) != 0L);
-      case 7:
-         return ((jjbitVec48[i2] & l2) != 0L);
-      case 9:
-         return ((jjbitVec49[i2] & l2) != 0L);
-      case 10:
-         return ((jjbitVec50[i2] & l2) != 0L);
-      case 11:
-         return ((jjbitVec51[i2] & l2) != 0L);
-      case 12:
-         return ((jjbitVec52[i2] & l2) != 0L);
-      case 13:
-         return ((jjbitVec53[i2] & l2) != 0L);
-      case 14:
-         return ((jjbitVec54[i2] & l2) != 0L);
-      case 15:
-         return ((jjbitVec55[i2] & l2) != 0L);
-      case 16:
-         return ((jjbitVec56[i2] & l2) != 0L);
-      case 17:
-         return ((jjbitVec19[i2] & l2) != 0L);
-      case 18:
-         return ((jjbitVec20[i2] & l2) != 0L);
-      case 19:
-         return ((jjbitVec57[i2] & l2) != 0L);
-      case 20:
-         return ((jjbitVec0[i2] & l2) != 0L);
-      case 22:
-         return ((jjbitVec22[i2] & l2) != 0L);
-      case 23:
-         return ((jjbitVec58[i2] & l2) != 0L);
-      case 24:
-         return ((jjbitVec59[i2] & l2) != 0L);
-      case 25:
-         return ((jjbitVec60[i2] & l2) != 0L);
-      case 29:
-         return ((jjbitVec26[i2] & l2) != 0L);
-      case 30:
-         return ((jjbitVec27[i2] & l2) != 0L);
-      case 31:
-         return ((jjbitVec28[i2] & l2) != 0L);
-      case 32:
-         return ((jjbitVec61[i2] & l2) != 0L);
-      case 33:
-         return ((jjbitVec30[i2] & l2) != 0L);
-      case 48:
-         return ((jjbitVec62[i2] & l2) != 0L);
-      case 49:
-         return ((jjbitVec32[i2] & l2) != 0L);
-      case 77:
-         return ((jjbitVec33[i2] & l2) != 0L);
-      case 159:
-         return ((jjbitVec34[i2] & l2) != 0L);
-      case 164:
-         return ((jjbitVec35[i2] & l2) != 0L);
-      case 215:
-         return ((jjbitVec36[i2] & l2) != 0L);
-      case 216:
-         return ((jjbitVec63[i2] & l2) != 0L);
-      case 220:
-         return ((jjbitVec64[i2] & l2) != 0L);
-      case 221:
-         return ((jjbitVec65[i2] & l2) != 0L);
-      case 250:
-         return ((jjbitVec38[i2] & l2) != 0L);
-      case 251:
-         return ((jjbitVec66[i2] & l2) != 0L);
-      case 253:
-         return ((jjbitVec40[i2] & l2) != 0L);
-      case 254:
-         return ((jjbitVec67[i2] & l2) != 0L);
-      case 255:
-         return ((jjbitVec68[i2] & l2) != 0L);
-      default : 
-         if ((jjbitVec3[i1] & l1) != 0L)
-            return true;
-         return false;
-   }
-}
+        }
+    }
 
-/** Token literal values. */
-public static final String[] jjstrLiteralImages = {
-"", null, null, null, null, null, null, null, null, null, null, null, 
-"\141\142\163\164\162\141\143\164", "\141\163\163\145\162\164", "\142\157\157\154\145\141\156", 
-"\142\162\145\141\153", "\142\171\164\145", "\143\141\163\145", "\143\141\164\143\150", 
-"\143\150\141\162", "\143\154\141\163\163", "\143\157\156\163\164", 
-"\143\157\156\164\151\156\165\145", "\144\145\146\141\165\154\164", "\144\157", "\144\157\165\142\154\145", 
-"\145\154\163\145", "\145\156\165\155", "\145\170\164\145\156\144\163", "\146\141\154\163\145", 
-"\146\151\156\141\154", "\146\151\156\141\154\154\171", "\146\154\157\141\164", "\146\157\162", 
-"\147\157\164\157", "\151\146", "\151\155\160\154\145\155\145\156\164\163", 
-"\151\155\160\157\162\164", "\151\156\163\164\141\156\143\145\157\146", "\151\156\164", 
-"\151\156\164\145\162\146\141\143\145", "\154\157\156\147", "\156\141\164\151\166\145", "\156\145\167", 
-"\156\165\154\154", "\160\141\143\153\141\147\145", "\160\162\151\166\141\164\145", 
-"\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143", "\162\145\164\165\162\156", 
-"\163\150\157\162\164", "\163\164\141\164\151\143", "\163\164\162\151\143\164\146\160", 
-"\163\165\160\145\162", "\163\167\151\164\143\150", 
-"\163\171\156\143\150\162\157\156\151\172\145\144", "\164\150\151\163", "\164\150\162\157\167", "\164\150\162\157\167\163", 
-"\164\162\141\156\163\151\145\156\164", "\164\162\165\145", "\164\162\171", "\166\157\151\144", 
-"\166\157\154\141\164\151\154\145", "\167\150\151\154\145", null, null, null, null, null, null, null, null, null, 
-null, null, null, null, null, null, "\50", "\51", "\173", "\175", "\133", "\135", 
-"\73", "\54", "\56", "\100", "\75", "\74", "\41", "\176", "\77", "\72", "\75\75", 
-"\74\75", "\76\75", "\41\75", "\174\174", "\46\46", "\53\53", "\55\55", "\53", "\55", 
-"\52", "\57", "\46", "\174", "\136", "\45", "\74\74", "\53\75", "\55\75", "\52\75", 
-"\57\75", "\46\75", "\174\75", "\136\75", "\45\75", "\74\74\75", "\76\76\75", 
-"\76\76\76\75", "\56\56\56", "\76\76\76", "\76\76", "\76", "\32", };
+    private int jjMoveStringLiteralDfa0_2() {
+        switch (curChar) {
+            case 42:
+                return jjMoveStringLiteralDfa1_2(0x400L);
+            default:
+                return 1;
+        }
+    }
 
-/** Lexer state names. */
-public static final String[] lexStateNames = {
-   "DEFAULT", 
-   "IN_JAVA_DOC_COMMENT", 
-   "IN_MULTI_LINE_COMMENT", 
-};
+    private int jjMoveStringLiteralDfa1_2(long active0) {
+        try {
+            curChar = input_stream.readChar();
+        }
+        catch (java.io.IOException e) {
+            return 1;
+        }
+        switch (curChar) {
+            case 47:
+                if ((active0 & 0x400L) != 0L)
+                    return jjStopAtPos(1, 10);
+                break;
+            default:
+                return 2;
+        }
+        return 2;
+    }
 
-/** Lex State array. */
-public static final int[] jjnewLexState = {
-   -1, -1, -1, -1, -1, -1, -1, 1, 2, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-   -1, -1, -1, -1, 
-};
-static final long[] jjtoToken = {
-   0xfffffffffffff001L, 0xffffffffffff3847L, 0x1L, 
-};
-static final long[] jjtoSkip = {
-   0x67eL, 0x0L, 0x0L, 
-};
-static final long[] jjtoSpecial = {
-   0x640L, 0x0L, 0x0L, 
-};
-static final long[] jjtoMore = {
-   0x980L, 0x0L, 0x0L, 
-};
-protected JavaCharStream input_stream;
-private final int[] jjrounds = new int[86];
-private final int[] jjstateSet = new int[172];
-private final StringBuilder jjimage = new StringBuilder();
-private StringBuilder image = jjimage;
-private int jjimageLen;
-private int lengthOfMatch;
-protected char curChar;
-/** Constructor. */
-public ASTParserTokenManager(JavaCharStream stream){
-   if (JavaCharStream.staticFlag)
-      throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
-   input_stream = stream;
-}
+    private int jjMoveStringLiteralDfa0_1() {
+        switch (curChar) {
+            case 42:
+                return jjMoveStringLiteralDfa1_1(0x200L);
+            default:
+                return 1;
+        }
+    }
 
-/** Constructor. */
-public ASTParserTokenManager(JavaCharStream stream, int lexState){
-   this(stream);
-   SwitchTo(lexState);
-}
+    private int jjMoveStringLiteralDfa1_1(long active0) {
+        try {
+            curChar = input_stream.readChar();
+        }
+        catch (java.io.IOException e) {
+            return 1;
+        }
+        switch (curChar) {
+            case 47:
+                if ((active0 & 0x200L) != 0L)
+                    return jjStopAtPos(1, 9);
+                break;
+            default:
+                return 2;
+        }
+        return 2;
+    }
 
-/** Reinitialise parser. */
-public void ReInit(JavaCharStream stream)
-{
-   jjmatchedPos = jjnewStateCnt = 0;
-   curLexState = defaultLexState;
-   input_stream = stream;
-   ReInitRounds();
-}
-private void ReInitRounds()
-{
-   int i;
-   jjround = 0x80000001;
-   for (i = 86; i-- > 0;)
-      jjrounds[i] = 0x80000000;
-}
+    static final int[] jjnextStates = {
+            55, 56, 58, 39, 40, 5, 43, 44, 47, 48, 54, 61, 22, 23, 30, 31,
+            7, 9, 20, 63, 64, 65, 67, 69, 64, 70, 72, 73, 80, 1, 2, 5,
+            22, 23, 33, 30, 31, 39, 40, 5, 49, 50, 5, 74, 75, 81, 82, 83,
+            3, 4, 10, 11, 13, 24, 32, 34, 41, 42, 45, 46, 51, 52, 76, 77,
+            78, 79, 84, 85,
+    };
 
-/** Reinitialise parser. */
-public void ReInit(JavaCharStream stream, int lexState)
-{
-   ReInit(stream);
-   SwitchTo(lexState);
-}
+    private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2) {
+        switch (hiByte) {
+            case 0:
+                return ((jjbitVec2[i2] & l2) != 0L);
+            default:
+                if ((jjbitVec0[i1] & l1) != 0L)
+                    return true;
+                return false;
+        }
+    }
 
-/** Switch to specified lex state. */
-public void SwitchTo(int lexState)
-{
-   if (lexState >= 3 || lexState < 0)
-      throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
-   else
-      curLexState = lexState;
-}
+    private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2) {
+        switch (hiByte) {
+            case 0:
+                return ((jjbitVec4[i2] & l2) != 0L);
+            case 2:
+                return ((jjbitVec5[i2] & l2) != 0L);
+            case 3:
+                return ((jjbitVec6[i2] & l2) != 0L);
+            case 4:
+                return ((jjbitVec7[i2] & l2) != 0L);
+            case 5:
+                return ((jjbitVec8[i2] & l2) != 0L);
+            case 6:
+                return ((jjbitVec9[i2] & l2) != 0L);
+            case 7:
+                return ((jjbitVec10[i2] & l2) != 0L);
+            case 9:
+                return ((jjbitVec11[i2] & l2) != 0L);
+            case 10:
+                return ((jjbitVec12[i2] & l2) != 0L);
+            case 11:
+                return ((jjbitVec13[i2] & l2) != 0L);
+            case 12:
+                return ((jjbitVec14[i2] & l2) != 0L);
+            case 13:
+                return ((jjbitVec15[i2] & l2) != 0L);
+            case 14:
+                return ((jjbitVec16[i2] & l2) != 0L);
+            case 15:
+                return ((jjbitVec17[i2] & l2) != 0L);
+            case 16:
+                return ((jjbitVec18[i2] & l2) != 0L);
+            case 17:
+                return ((jjbitVec19[i2] & l2) != 0L);
+            case 18:
+                return ((jjbitVec20[i2] & l2) != 0L);
+            case 19:
+                return ((jjbitVec21[i2] & l2) != 0L);
+            case 20:
+                return ((jjbitVec0[i2] & l2) != 0L);
+            case 22:
+                return ((jjbitVec22[i2] & l2) != 0L);
+            case 23:
+                return ((jjbitVec23[i2] & l2) != 0L);
+            case 24:
+                return ((jjbitVec24[i2] & l2) != 0L);
+            case 25:
+                return ((jjbitVec25[i2] & l2) != 0L);
+            case 29:
+                return ((jjbitVec26[i2] & l2) != 0L);
+            case 30:
+                return ((jjbitVec27[i2] & l2) != 0L);
+            case 31:
+                return ((jjbitVec28[i2] & l2) != 0L);
+            case 32:
+                return ((jjbitVec29[i2] & l2) != 0L);
+            case 33:
+                return ((jjbitVec30[i2] & l2) != 0L);
+            case 48:
+                return ((jjbitVec31[i2] & l2) != 0L);
+            case 49:
+                return ((jjbitVec32[i2] & l2) != 0L);
+            case 77:
+                return ((jjbitVec33[i2] & l2) != 0L);
+            case 159:
+                return ((jjbitVec34[i2] & l2) != 0L);
+            case 164:
+                return ((jjbitVec35[i2] & l2) != 0L);
+            case 215:
+                return ((jjbitVec36[i2] & l2) != 0L);
+            case 216:
+                return ((jjbitVec37[i2] & l2) != 0L);
+            case 250:
+                return ((jjbitVec38[i2] & l2) != 0L);
+            case 251:
+                return ((jjbitVec39[i2] & l2) != 0L);
+            case 253:
+                return ((jjbitVec40[i2] & l2) != 0L);
+            case 254:
+                return ((jjbitVec41[i2] & l2) != 0L);
+            case 255:
+                return ((jjbitVec42[i2] & l2) != 0L);
+            default:
+                if ((jjbitVec3[i1] & l1) != 0L)
+                    return true;
+                return false;
+        }
+    }
 
-protected Token jjFillToken()
-{
-   final Token t;
-   final String curTokenImage;
-   final int beginLine;
-   final int endLine;
-   final int beginColumn;
-   final int endColumn;
-   String im = jjstrLiteralImages[jjmatchedKind];
-   curTokenImage = (im == null) ? input_stream.GetImage() : im;
-   beginLine = input_stream.getBeginLine();
-   beginColumn = input_stream.getBeginColumn();
-   endLine = input_stream.getEndLine();
-   endColumn = input_stream.getEndColumn();
-   t = ASTParser.GTToken.newToken(jjmatchedKind, curTokenImage);
+    private static final boolean jjCanMove_2(int hiByte, int i1, int i2, long l1, long l2) {
+        switch (hiByte) {
+            case 0:
+                return ((jjbitVec43[i2] & l2) != 0L);
+            case 2:
+                return ((jjbitVec5[i2] & l2) != 0L);
+            case 3:
+                return ((jjbitVec44[i2] & l2) != 0L);
+            case 4:
+                return ((jjbitVec45[i2] & l2) != 0L);
+            case 5:
+                return ((jjbitVec46[i2] & l2) != 0L);
+            case 6:
+                return ((jjbitVec47[i2] & l2) != 0L);
+            case 7:
+                return ((jjbitVec48[i2] & l2) != 0L);
+            case 9:
+                return ((jjbitVec49[i2] & l2) != 0L);
+            case 10:
+                return ((jjbitVec50[i2] & l2) != 0L);
+            case 11:
+                return ((jjbitVec51[i2] & l2) != 0L);
+            case 12:
+                return ((jjbitVec52[i2] & l2) != 0L);
+            case 13:
+                return ((jjbitVec53[i2] & l2) != 0L);
+            case 14:
+                return ((jjbitVec54[i2] & l2) != 0L);
+            case 15:
+                return ((jjbitVec55[i2] & l2) != 0L);
+            case 16:
+                return ((jjbitVec56[i2] & l2) != 0L);
+            case 17:
+                return ((jjbitVec19[i2] & l2) != 0L);
+            case 18:
+                return ((jjbitVec20[i2] & l2) != 0L);
+            case 19:
+                return ((jjbitVec57[i2] & l2) != 0L);
+            case 20:
+                return ((jjbitVec0[i2] & l2) != 0L);
+            case 22:
+                return ((jjbitVec22[i2] & l2) != 0L);
+            case 23:
+                return ((jjbitVec58[i2] & l2) != 0L);
+            case 24:
+                return ((jjbitVec59[i2] & l2) != 0L);
+            case 25:
+                return ((jjbitVec60[i2] & l2) != 0L);
+            case 29:
+                return ((jjbitVec26[i2] & l2) != 0L);
+            case 30:
+                return ((jjbitVec27[i2] & l2) != 0L);
+            case 31:
+                return ((jjbitVec28[i2] & l2) != 0L);
+            case 32:
+                return ((jjbitVec61[i2] & l2) != 0L);
+            case 33:
+                return ((jjbitVec30[i2] & l2) != 0L);
+            case 48:
+                return ((jjbitVec62[i2] & l2) != 0L);
+            case 49:
+                return ((jjbitVec32[i2] & l2) != 0L);
+            case 77:
+                return ((jjbitVec33[i2] & l2) != 0L);
+            case 159:
+                return ((jjbitVec34[i2] & l2) != 0L);
+            case 164:
+                return ((jjbitVec35[i2] & l2) != 0L);
+            case 215:
+                return ((jjbitVec36[i2] & l2) != 0L);
+            case 216:
+                return ((jjbitVec63[i2] & l2) != 0L);
+            case 220:
+                return ((jjbitVec64[i2] & l2) != 0L);
+            case 221:
+                return ((jjbitVec65[i2] & l2) != 0L);
+            case 250:
+                return ((jjbitVec38[i2] & l2) != 0L);
+            case 251:
+                return ((jjbitVec66[i2] & l2) != 0L);
+            case 253:
+                return ((jjbitVec40[i2] & l2) != 0L);
+            case 254:
+                return ((jjbitVec67[i2] & l2) != 0L);
+            case 255:
+                return ((jjbitVec68[i2] & l2) != 0L);
+            default:
+                if ((jjbitVec3[i1] & l1) != 0L)
+                    return true;
+                return false;
+        }
+    }
 
-   t.beginLine = beginLine;
-   t.endLine = endLine;
-   t.beginColumn = beginColumn;
-   t.endColumn = endColumn;
+    /**
+     * Token literal values.
+     */
+    public static final String[] jjstrLiteralImages = {
+            "", null, null, null, null, null, null, null, null, null, null, null,
+            "\141\142\163\164\162\141\143\164", "\141\163\163\145\162\164", "\142\157\157\154\145\141\156",
+            "\142\162\145\141\153", "\142\171\164\145", "\143\141\163\145", "\143\141\164\143\150",
+            "\143\150\141\162", "\143\154\141\163\163", "\143\157\156\163\164",
+            "\143\157\156\164\151\156\165\145", "\144\145\146\141\165\154\164", "\144\157", "\144\157\165\142\154\145",
+            "\145\154\163\145", "\145\156\165\155", "\145\170\164\145\156\144\163", "\146\141\154\163\145",
+            "\146\151\156\141\154", "\146\151\156\141\154\154\171", "\146\154\157\141\164", "\146\157\162",
+            "\147\157\164\157", "\151\146", "\151\155\160\154\145\155\145\156\164\163",
+            "\151\155\160\157\162\164", "\151\156\163\164\141\156\143\145\157\146", "\151\156\164",
+            "\151\156\164\145\162\146\141\143\145", "\154\157\156\147", "\156\141\164\151\166\145", "\156\145\167",
+            "\156\165\154\154", "\160\141\143\153\141\147\145", "\160\162\151\166\141\164\145",
+            "\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143", "\162\145\164\165\162\156",
+            "\163\150\157\162\164", "\163\164\141\164\151\143", "\163\164\162\151\143\164\146\160",
+            "\163\165\160\145\162", "\163\167\151\164\143\150",
+            "\163\171\156\143\150\162\157\156\151\172\145\144", "\164\150\151\163", "\164\150\162\157\167", "\164\150\162\157\167\163",
+            "\164\162\141\156\163\151\145\156\164", "\164\162\165\145", "\164\162\171", "\166\157\151\144",
+            "\166\157\154\141\164\151\154\145", "\167\150\151\154\145", null, null, null, null, null, null, null, null, null,
+            null, null, null, null, null, null, "\50", "\51", "\173", "\175", "\133", "\135",
+            "\73", "\54", "\56", "\100", "\75", "\74", "\41", "\176", "\77", "\72", "\75\75",
+            "\74\75", "\76\75", "\41\75", "\174\174", "\46\46", "\53\53", "\55\55", "\53", "\55",
+            "\52", "\57", "\46", "\174", "\136", "\45", "\74\74", "\53\75", "\55\75", "\52\75",
+            "\57\75", "\46\75", "\174\75", "\136\75", "\45\75", "\74\74\75", "\76\76\75",
+            "\76\76\76\75", "\56\56\56", "\76\76\76", "\76\76", "\76", "\32",};
 
-   return t;
-}
+    /**
+     * Lexer state names.
+     */
+    public static final String[] lexStateNames = {
+            "DEFAULT",
+            "IN_JAVA_DOC_COMMENT",
+            "IN_MULTI_LINE_COMMENT",
+    };
+
+    /**
+     * Lex State array.
+     */
+    public static final int[] jjnewLexState = {
+            -1, -1, -1, -1, -1, -1, -1, 1, 2, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+            -1, -1, -1, -1,
+    };
+    static final long[] jjtoToken = {
+            0xfffffffffffff001L, 0xffffffffffff3847L, 0x1L,
+    };
+    static final long[] jjtoSkip = {
+            0x67eL, 0x0L, 0x0L,
+    };
+    static final long[] jjtoSpecial = {
+            0x640L, 0x0L, 0x0L,
+    };
+    static final long[] jjtoMore = {
+            0x980L, 0x0L, 0x0L,
+    };
+    protected JavaCharStream input_stream;
+    private final int[] jjrounds = new int[86];
+    private final int[] jjstateSet = new int[172];
+    private final StringBuilder jjimage = new StringBuilder();
+    private StringBuilder image = jjimage;
+    private int jjimageLen;
+    private int lengthOfMatch;
+    protected char curChar;
+
+    /**
+     * Constructor.
+     * @param stream JavaCharStream
+     */
+    public ASTParserTokenManager(JavaCharStream stream) {
+        if (JavaCharStream.staticFlag)
+            throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
+        input_stream = stream;
+    }
 
-int curLexState = 0;
-int defaultLexState = 0;
-int jjnewStateCnt;
-int jjround;
-int jjmatchedPos;
-int jjmatchedKind;
+    /**
+     * Constructor.
+     * @param stream JavaCharStream
+     * @param lexState int
+     */
+    public ASTParserTokenManager(JavaCharStream stream, int lexState) {
+        this(stream);
+        SwitchTo(lexState);
+    }
+
+    /**
+     * Reinitialise parser.
+     * @param stream JavaCharStream
+     */
+    public void ReInit(JavaCharStream stream) {
+        jjmatchedPos = jjnewStateCnt = 0;
+        curLexState = defaultLexState;
+        input_stream = stream;
+        ReInitRounds();
+    }
 
-/** Get the next Token. */
-public Token getNextToken() 
-{
-  Token specialToken = null;
-  Token matchedToken;
-  int curPos = 0;
+    private void ReInitRounds() {
+        int i;
+        jjround = 0x80000001;
+        for (i = 86; i-- > 0; )
+            jjrounds[i] = 0x80000000;
+    }
 
-  EOFLoop :
-  for (;;)
-  {   
-   try   
-   {     
-      curChar = input_stream.BeginToken();
-   }     
-   catch(java.io.IOException e)
-   {        
-      jjmatchedKind = 0;
-      matchedToken = jjFillToken();
-      matchedToken.specialToken = specialToken;
-      CommonTokenAction(matchedToken);
-      return matchedToken;
-   }
-   image = jjimage;
-   image.setLength(0);
-   jjimageLen = 0;
+    /**
+     * Reinitialise parser.
+     * @param stream JavaCharStream
+     * @param lexState int
+     */
+    public void ReInit(JavaCharStream stream, int lexState) {
+        ReInit(stream);
+        SwitchTo(lexState);
+    }
+
+    /**
+     * Switch to specified lex state.
+     * @param lexState int
+     */
+    public void SwitchTo(int lexState) {
+        if (lexState >= 3 || lexState < 0)
+            throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
+        else
+            curLexState = lexState;
+    }
+
+    protected Token jjFillToken() {
+        final Token t;
+        final String curTokenImage;
+        final int beginLine;
+        final int endLine;
+        final int beginColumn;
+        final int endColumn;
+        String im = jjstrLiteralImages[jjmatchedKind];
+        curTokenImage = (im == null) ? input_stream.GetImage() : im;
+        beginLine = input_stream.getBeginLine();
+        beginColumn = input_stream.getBeginColumn();
+        endLine = input_stream.getEndLine();
+        endColumn = input_stream.getEndColumn();
+        t = ASTParser.GTToken.newToken(jjmatchedKind, curTokenImage);
+
+        t.beginLine = beginLine;
+        t.endLine = endLine;
+        t.beginColumn = beginColumn;
+        t.endColumn = endColumn;
+
+        return t;
+    }
+
+    int curLexState = 0;
+    int defaultLexState = 0;
+    int jjnewStateCnt;
+    int jjround;
+    int jjmatchedPos;
+    int jjmatchedKind;
+
+    /**
+     * Get the next Token.
+     * @return Token
+     */
+    public Token getNextToken() {
+        Token specialToken = null;
+        Token matchedToken;
+        int curPos = 0;
+
+        EOFLoop:
+        for (; ; ) {
+            try {
+                curChar = input_stream.BeginToken();
+            }
+            catch (java.io.IOException e) {
+                jjmatchedKind = 0;
+                matchedToken = jjFillToken();
+                matchedToken.specialToken = specialToken;
+                CommonTokenAction(matchedToken);
+                return matchedToken;
+            }
+            image = jjimage;
+            image.setLength(0);
+            jjimageLen = 0;
+
+            for (; ; ) {
+                switch (curLexState) {
+                    case 0:
+                        try {
+                            input_stream.backup(0);
+                            while (curChar <= 32 && (0x100003600L & (1L << curChar)) != 0L)
+                                curChar = input_stream.BeginToken();
+                        }
+                        catch (java.io.IOException e1) {
+                            continue EOFLoop;
+                        }
+                        jjmatchedKind = 0x7fffffff;
+                        jjmatchedPos = 0;
+                        curPos = jjMoveStringLiteralDfa0_0();
+                        break;
+                    case 1:
+                        jjmatchedKind = 0x7fffffff;
+                        jjmatchedPos = 0;
+                        curPos = jjMoveStringLiteralDfa0_1();
+                        if (jjmatchedPos == 0 && jjmatchedKind > 11) {
+                            jjmatchedKind = 11;
+                        }
+                        break;
+                    case 2:
+                        jjmatchedKind = 0x7fffffff;
+                        jjmatchedPos = 0;
+                        curPos = jjMoveStringLiteralDfa0_2();
+                        if (jjmatchedPos == 0 && jjmatchedKind > 11) {
+                            jjmatchedKind = 11;
+                        }
+                        break;
+                }
+                if (jjmatchedKind != 0x7fffffff) {
+                    if (jjmatchedPos + 1 < curPos)
+                        input_stream.backup(curPos - jjmatchedPos - 1);
+                    if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) {
+                        matchedToken = jjFillToken();
+                        matchedToken.specialToken = specialToken;
+                        TokenLexicalActions(matchedToken);
+                        if (jjnewLexState[jjmatchedKind] != -1)
+                            curLexState = jjnewLexState[jjmatchedKind];
+                        CommonTokenAction(matchedToken);
+                        return matchedToken;
+                    }
+                    else if ((jjtoSkip[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) {
+                        if ((jjtoSpecial[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) {
+                            matchedToken = jjFillToken();
+                            if (specialToken == null)
+                                specialToken = matchedToken;
+                            else {
+                                matchedToken.specialToken = specialToken;
+                                specialToken = (specialToken.next = matchedToken);
+                            }
+                            SkipLexicalActions(matchedToken);
+                        }
+                        else
+                            SkipLexicalActions(null);
+                        if (jjnewLexState[jjmatchedKind] != -1)
+                            curLexState = jjnewLexState[jjmatchedKind];
+                        continue EOFLoop;
+                    }
+                    MoreLexicalActions();
+                    if (jjnewLexState[jjmatchedKind] != -1)
+                        curLexState = jjnewLexState[jjmatchedKind];
+                    curPos = 0;
+                    jjmatchedKind = 0x7fffffff;
+                    try {
+                        curChar = input_stream.readChar();
+                        continue;
+                    }
+                    catch (java.io.IOException e1) {
+                    }
+                }
+                int error_line = input_stream.getEndLine();
+                int error_column = input_stream.getEndColumn();
+                String error_after = null;
+                boolean EOFSeen = false;
+                try {
+                    input_stream.readChar();
+                    input_stream.backup(1);
+                }
+                catch (java.io.IOException e1) {
+                    EOFSeen = true;
+                    error_after = curPos <= 1 ? "" : input_stream.GetImage();
+                    if (curChar == '\n' || curChar == '\r') {
+                        error_line++;
+                        error_column = 0;
+                    }
+                    else
+                        error_column++;
+                }
+                if (!EOFSeen) {
+                    input_stream.backup(1);
+                    error_after = curPos <= 1 ? "" : input_stream.GetImage();
+                }
+                throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
+            }
+        }
+    }
 
-   for (;;)
-   {
-     switch(curLexState)
-     {
-       case 0:
-         try { input_stream.backup(0);
-            while (curChar <= 32 && (0x100003600L & (1L << curChar)) != 0L)
-               curChar = input_stream.BeginToken();
-         }
-         catch (java.io.IOException e1) { continue EOFLoop; }
-         jjmatchedKind = 0x7fffffff;
-         jjmatchedPos = 0;
-         curPos = jjMoveStringLiteralDfa0_0();
-         break;
-       case 1:
-         jjmatchedKind = 0x7fffffff;
-         jjmatchedPos = 0;
-         curPos = jjMoveStringLiteralDfa0_1();
-         if (jjmatchedPos == 0 && jjmatchedKind > 11)
-         {
-            jjmatchedKind = 11;
-         }
-         break;
-       case 2:
-         jjmatchedKind = 0x7fffffff;
-         jjmatchedPos = 0;
-         curPos = jjMoveStringLiteralDfa0_2();
-         if (jjmatchedPos == 0 && jjmatchedKind > 11)
-         {
-            jjmatchedKind = 11;
-         }
-         break;
-     }
-     if (jjmatchedKind != 0x7fffffff)
-     {
-        if (jjmatchedPos + 1 < curPos)
-           input_stream.backup(curPos - jjmatchedPos - 1);
-        if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
-        {
-           matchedToken = jjFillToken();
-           matchedToken.specialToken = specialToken;
-           TokenLexicalActions(matchedToken);
-       if (jjnewLexState[jjmatchedKind] != -1)
-         curLexState = jjnewLexState[jjmatchedKind];
-           CommonTokenAction(matchedToken);
-           return matchedToken;
+    void SkipLexicalActions(Token matchedToken) {
+        switch (jjmatchedKind) {
+            default:
+                break;
         }
-        else if ((jjtoSkip[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
-        {
-           if ((jjtoSpecial[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
-           {
-              matchedToken = jjFillToken();
-              if (specialToken == null)
-                 specialToken = matchedToken;
-              else
-              {
-                 matchedToken.specialToken = specialToken;
-                 specialToken = (specialToken.next = matchedToken);
-              }
-              SkipLexicalActions(matchedToken);
-           }
-           else 
-              SkipLexicalActions(null);
-         if (jjnewLexState[jjmatchedKind] != -1)
-           curLexState = jjnewLexState[jjmatchedKind];
-           continue EOFLoop;
+    }
+
+    void MoreLexicalActions() {
+        jjimageLen += (lengthOfMatch = jjmatchedPos + 1);
+        switch (jjmatchedKind) {
+            case 7:
+                image.append(input_stream.GetSuffix(jjimageLen));
+                jjimageLen = 0;
+                input_stream.backup(1);
+                break;
+            default:
+                break;
         }
-        MoreLexicalActions();
-      if (jjnewLexState[jjmatchedKind] != -1)
-        curLexState = jjnewLexState[jjmatchedKind];
-        curPos = 0;
-        jjmatchedKind = 0x7fffffff;
-        try {
-           curChar = input_stream.readChar();
-           continue;
+    }
+
+    void TokenLexicalActions(Token matchedToken) {
+        switch (jjmatchedKind) {
+            case 125:
+                image.append(jjstrLiteralImages[125]);
+                lengthOfMatch = jjstrLiteralImages[125].length();
+                matchedToken.kind = GT;
+                ((ASTParser.GTToken) matchedToken).realKind = RUNSIGNEDSHIFT;
+                input_stream.backup(2);
+                break;
+            case 126:
+                image.append(jjstrLiteralImages[126]);
+                lengthOfMatch = jjstrLiteralImages[126].length();
+                matchedToken.kind = GT;
+                ((ASTParser.GTToken) matchedToken).realKind = RSIGNEDSHIFT;
+                input_stream.backup(1);
+                break;
+            default:
+                break;
         }
-        catch (java.io.IOException e1) { }
-     }
-     int error_line = input_stream.getEndLine();
-     int error_column = input_stream.getEndColumn();
-     String error_after = null;
-     boolean EOFSeen = false;
-     try { input_stream.readChar(); input_stream.backup(1); }
-     catch (java.io.IOException e1) {
-        EOFSeen = true;
-        error_after = curPos <= 1 ? "" : input_stream.GetImage();
-        if (curChar == '\n' || curChar == '\r') {
-           error_line++;
-           error_column = 0;
+    }
+
+    private void jjCheckNAdd(int state) {
+        if (jjrounds[state] != jjround) {
+            jjstateSet[jjnewStateCnt++] = state;
+            jjrounds[state] = jjround;
         }
-        else
-           error_column++;
-     }
-     if (!EOFSeen) {
-        input_stream.backup(1);
-        error_after = curPos <= 1 ? "" : input_stream.GetImage();
-     }
-     throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
-   }
-  }
-}
+    }
 
-void SkipLexicalActions(Token matchedToken)
-{
-   switch(jjmatchedKind)
-   {
-      default :
-         break;
-   }
-}
-void MoreLexicalActions()
-{
-   jjimageLen += (lengthOfMatch = jjmatchedPos + 1);
-   switch(jjmatchedKind)
-   {
-      case 7 :
-         image.append(input_stream.GetSuffix(jjimageLen));
-         jjimageLen = 0;
-                   input_stream.backup(1);
-         break;
-      default : 
-         break;
-   }
-}
-void TokenLexicalActions(Token matchedToken)
-{
-   switch(jjmatchedKind)
-   {
-      case 125 :
-        image.append(jjstrLiteralImages[125]);
-        lengthOfMatch = jjstrLiteralImages[125].length();
-     matchedToken.kind = GT;
-     ((ASTParser.GTToken)matchedToken).realKind = RUNSIGNEDSHIFT;
-     input_stream.backup(2);
-         break;
-      case 126 :
-        image.append(jjstrLiteralImages[126]);
-        lengthOfMatch = jjstrLiteralImages[126].length();
-     matchedToken.kind = GT;
-     ((ASTParser.GTToken)matchedToken).realKind = RSIGNEDSHIFT;
-     input_stream.backup(1);
-         break;
-      default : 
-         break;
-   }
-}
-private void jjCheckNAdd(int state)
-{
-   if (jjrounds[state] != jjround)
-   {
-      jjstateSet[jjnewStateCnt++] = state;
-      jjrounds[state] = jjround;
-   }
-}
-private void jjAddStates(int start, int end)
-{
-   do {
-      jjstateSet[jjnewStateCnt++] = jjnextStates[start];
-   } while (start++ != end);
-}
-private void jjCheckNAddTwoStates(int state1, int state2)
-{
-   jjCheckNAdd(state1);
-   jjCheckNAdd(state2);
-}
+    private void jjAddStates(int start, int end) {
+        do {
+            jjstateSet[jjnewStateCnt++] = jjnextStates[start];
+        } while (start++ != end);
+    }
 
-private void jjCheckNAddStates(int start, int end)
-{
-   do {
-      jjCheckNAdd(jjnextStates[start]);
-   } while (start++ != end);
-}
+    private void jjCheckNAddTwoStates(int state1, int state2) {
+        jjCheckNAdd(state1);
+        jjCheckNAdd(state2);
+    }
+
+    private void jjCheckNAddStates(int start, int end) {
+        do {
+            jjCheckNAdd(jjnextStates[start]);
+        } while (start++ != end);
+    }
 
 }
diff --git a/src/main/java/japa/parser/JavaCharStream.java b/src/main/java/japa/parser/JavaCharStream.java
index 720e675..d6b8ac0 100644
--- a/src/main/java/japa/parser/JavaCharStream.java
+++ b/src/main/java/japa/parser/JavaCharStream.java
@@ -1,8 +1,8 @@
 /* Generated By:JavaCC: Do not edit this line. JavaCharStream.java Version 4.1 */
 /* JavaCCOptions:STATIC=false */
 /*
- * Copyright (C) 2008 J�lio Vilmar Gesser.
- * 
+ * Copyright (C) 2008 J&uacute;lio Vilmar Gesser.
+ *
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
  * Java 1.5 parser and Abstract Syntax Tree is free software: you can redistribute it and/or modify
@@ -25,610 +25,692 @@ package japa.parser;
  * contain only ASCII characters (with java-like unicode escape processing).
  */
 
-public class JavaCharStream
-{
-/** Whether parser is static. */
-  public static final boolean staticFlag = false;
-  static final int hexval(char c) throws java.io.IOException {
-    switch(c)
-    {
-       case '0' :
-          return 0;
-       case '1' :
-          return 1;
-       case '2' :
-          return 2;
-       case '3' :
-          return 3;
-       case '4' :
-          return 4;
-       case '5' :
-          return 5;
-       case '6' :
-          return 6;
-       case '7' :
-          return 7;
-       case '8' :
-          return 8;
-       case '9' :
-          return 9;
-
-       case 'a' :
-       case 'A' :
-          return 10;
-       case 'b' :
-       case 'B' :
-          return 11;
-       case 'c' :
-       case 'C' :
-          return 12;
-       case 'd' :
-       case 'D' :
-          return 13;
-       case 'e' :
-       case 'E' :
-          return 14;
-       case 'f' :
-       case 'F' :
-          return 15;
-    }
-
-    throw new java.io.IOException(); // Should never come here
-  }
-
-/** Position in buffer. */
-  public int bufpos = -1;
-  int bufsize;
-  int available;
-  int tokenBegin;
-  protected int bufline[];
-  protected int bufcolumn[];
-
-  protected int column = 0;
-  protected int line = 1;
-
-  protected boolean prevCharIsCR = false;
-  protected boolean prevCharIsLF = false;
-
-  protected java.io.Reader inputStream;
-
-  protected char[] nextCharBuf;
-  protected char[] buffer;
-  protected int maxNextCharInd = 0;
-  protected int nextCharInd = -1;
-  protected int inBuf = 0;
-  protected int tabSize = 8;
-
-  protected void setTabSize(int i) { tabSize = i; }
-  protected int getTabSize(int i) { return tabSize; }
-
-  protected void ExpandBuff(boolean wrapAround)
-  {
-     char[] newbuffer = new char[bufsize + 2048];
-     int newbufline[] = new int[bufsize + 2048];
-     int newbufcolumn[] = new int[bufsize + 2048];
-
-     try
-     {
-        if (wrapAround)
-        {
-           System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
-           System.arraycopy(buffer, 0, newbuffer,
-                                             bufsize - tokenBegin, bufpos);
-           buffer = newbuffer;
-
-           System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
-           System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos);
-           bufline = newbufline;
-
-           System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
-           System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos);
-           bufcolumn = newbufcolumn;
-
-           bufpos += (bufsize - tokenBegin);
+public class JavaCharStream {
+    /**
+     * Whether parser is static.
+     */
+    public static final boolean staticFlag = false;
+
+    static final int hexval(char c) throws java.io.IOException {
+        switch (c) {
+            case '0':
+                return 0;
+            case '1':
+                return 1;
+            case '2':
+                return 2;
+            case '3':
+                return 3;
+            case '4':
+                return 4;
+            case '5':
+                return 5;
+            case '6':
+                return 6;
+            case '7':
+                return 7;
+            case '8':
+                return 8;
+            case '9':
+                return 9;
+
+            case 'a':
+            case 'A':
+                return 10;
+            case 'b':
+            case 'B':
+                return 11;
+            case 'c':
+            case 'C':
+                return 12;
+            case 'd':
+            case 'D':
+                return 13;
+            case 'e':
+            case 'E':
+                return 14;
+            case 'f':
+            case 'F':
+                return 15;
         }
-        else
-        {
-           System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
-           buffer = newbuffer;
 
-           System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
-           bufline = newbufline;
+        throw new java.io.IOException(); // Should never come here
+    }
+
+    /**
+     * Position in buffer.
+     */
+    public int bufpos = -1;
+    int bufsize;
+    int available;
+    int tokenBegin;
+    protected int bufline[];
+    protected int bufcolumn[];
+
+    protected int column = 0;
+    protected int line = 1;
+
+    protected boolean prevCharIsCR = false;
+    protected boolean prevCharIsLF = false;
+
+    protected java.io.Reader inputStream;
+
+    protected char[] nextCharBuf;
+    protected char[] buffer;
+    protected int maxNextCharInd = 0;
+    protected int nextCharInd = -1;
+    protected int inBuf = 0;
+    protected int tabSize = 8;
+
+    protected void setTabSize(int i) {
+        tabSize = i;
+    }
+
+    protected int getTabSize(int i) {
+        return tabSize;
+    }
+
+    protected void ExpandBuff(boolean wrapAround) {
+        char[] newbuffer = new char[bufsize + 2048];
+        int newbufline[] = new int[bufsize + 2048];
+        int newbufcolumn[] = new int[bufsize + 2048];
+
+        try {
+            if (wrapAround) {
+                System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
+                System.arraycopy(buffer, 0, newbuffer,
+                        bufsize - tokenBegin, bufpos);
+                buffer = newbuffer;
+
+                System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
+                System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos);
+                bufline = newbufline;
+
+                System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
+                System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos);
+                bufcolumn = newbufcolumn;
 
-           System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
-           bufcolumn = newbufcolumn;
+                bufpos += (bufsize - tokenBegin);
+            }
+            else {
+                System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
+                buffer = newbuffer;
 
-           bufpos -= tokenBegin;
+                System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
+                bufline = newbufline;
+
+                System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
+                bufcolumn = newbufcolumn;
+
+                bufpos -= tokenBegin;
+            }
         }
-     }
-     catch (Throwable t)
-     {
-        throw new Error(t.getMessage());
-     }
-
-     available = (bufsize += 2048);
-     tokenBegin = 0;
-  }
-
-  protected void FillBuff() throws java.io.IOException
-  {
-     int i;
-     if (maxNextCharInd == 4096)
-        maxNextCharInd = nextCharInd = 0;
-
-     try {
-        if ((i = inputStream.read(nextCharBuf, maxNextCharInd,
-                                            4096 - maxNextCharInd)) == -1)
-        {
-           inputStream.close();
-           throw new java.io.IOException();
+        catch (Throwable t) {
+            throw new Error(t.getMessage());
         }
-        else
-           maxNextCharInd += i;
-        return;
-     }
-     catch(java.io.IOException e) {
-        if (bufpos != 0)
-        {
-           --bufpos;
-           backup(0);
+
+        available = (bufsize += 2048);
+        tokenBegin = 0;
+    }
+
+    protected void FillBuff() throws java.io.IOException {
+        int i;
+        if (maxNextCharInd == 4096)
+            maxNextCharInd = nextCharInd = 0;
+
+        try {
+            if ((i = inputStream.read(nextCharBuf, maxNextCharInd,
+                    4096 - maxNextCharInd)) == -1) {
+                inputStream.close();
+                throw new java.io.IOException();
+            }
+            else
+                maxNextCharInd += i;
+            return;
         }
-        else
-        {
-           bufline[bufpos] = line;
-           bufcolumn[bufpos] = column;
+        catch (java.io.IOException e) {
+            if (bufpos != 0) {
+                --bufpos;
+                backup(0);
+            }
+            else {
+                bufline[bufpos] = line;
+                bufcolumn[bufpos] = column;
+            }
+            throw e;
         }
-        throw e;
-     }
-  }
-
-  protected char ReadByte() throws java.io.IOException
-  {
-     if (++nextCharInd >= maxNextCharInd)
-        FillBuff();
-
-     return nextCharBuf[nextCharInd];
-  }
-
-/** @return starting character for token. */
-  public char BeginToken() throws java.io.IOException
-  {     
-     if (inBuf > 0)
-     {
-        --inBuf;
-
-        if (++bufpos == bufsize)
-           bufpos = 0;
-
-        tokenBegin = bufpos;
-        return buffer[bufpos];
-     }
-
-     tokenBegin = 0;
-     bufpos = -1;
-
-     return readChar();
-  }     
-
-  protected void AdjustBuffSize()
-  {
-     if (available == bufsize)
-     {
-        if (tokenBegin > 2048)
-        {
-           bufpos = 0;
-           available = tokenBegin;
+    }
+
+    protected char ReadByte() throws java.io.IOException {
+        if (++nextCharInd >= maxNextCharInd)
+            FillBuff();
+
+        return nextCharBuf[nextCharInd];
+    }
+
+    /**
+     * @throws java.io.IOException IO Exception
+     * @return starting character for token.
+     */
+    public char BeginToken() throws java.io.IOException {
+        if (inBuf > 0) {
+            --inBuf;
+
+            if (++bufpos == bufsize)
+                bufpos = 0;
+
+            tokenBegin = bufpos;
+            return buffer[bufpos];
         }
-        else
-           ExpandBuff(false);
-     }
-     else if (available > tokenBegin)
-        available = bufsize;
-     else if ((tokenBegin - available) < 2048)
-        ExpandBuff(true);
-     else
-        available = tokenBegin;
-  }
-
-  protected void UpdateLineColumn(char c)
-  {
-     column++;
-
-     if (prevCharIsLF)
-     {
-        prevCharIsLF = false;
-        line += (column = 1);
-     }
-     else if (prevCharIsCR)
-     {
-        prevCharIsCR = false;
-        if (c == '\n')
-        {
-           prevCharIsLF = true;
+
+        tokenBegin = 0;
+        bufpos = -1;
+
+        return readChar();
+    }
+
+    protected void AdjustBuffSize() {
+        if (available == bufsize) {
+            if (tokenBegin > 2048) {
+                bufpos = 0;
+                available = tokenBegin;
+            }
+            else
+                ExpandBuff(false);
         }
+        else if (available > tokenBegin)
+            available = bufsize;
+        else if ((tokenBegin - available) < 2048)
+            ExpandBuff(true);
         else
-           line += (column = 1);
-     }
-
-     switch (c)
-     {
-        case '\r' :
-           prevCharIsCR = true;
-           break;
-        case '\n' :
-           prevCharIsLF = true;
-           break;
-        case '\t' :
-           column--;
-           column += (tabSize - (column % tabSize));
-           break;
-        default :
-           break;
-     }
-
-     bufline[bufpos] = line;
-     bufcolumn[bufpos] = column;
-  }
-
-/** Read a character. */
-  public char readChar() throws java.io.IOException
-  {
-     if (inBuf > 0)
-     {
-        --inBuf;
-
-        if (++bufpos == bufsize)
-           bufpos = 0;
-
-        return buffer[bufpos];
-     }
-
-     char c;
-
-     if (++bufpos == available)
-        AdjustBuffSize();
-
-     if ((buffer[bufpos] = c = ReadByte()) == '\\')
-     {
-        UpdateLineColumn(c);
-
-        int backSlashCnt = 1;
-
-        for (;;) // Read all the backslashes
-        {
-           if (++bufpos == available)
-              AdjustBuffSize();
-
-           try
-           {
-              if ((buffer[bufpos] = c = ReadByte()) != '\\')
-              {
-                 UpdateLineColumn(c);
-                 // found a non-backslash char.
-                 if ((c == 'u') && ((backSlashCnt & 1) == 1))
-                 {
-                    if (--bufpos < 0)
-                       bufpos = bufsize - 1;
-
-                    break;
-                 }
-
-                 backup(backSlashCnt);
-                 return '\\';
-              }
-           }
-           catch(java.io.IOException e)
-           {
-              if (backSlashCnt > 1)
-                 backup(backSlashCnt-1);
-
-              return '\\';
-           }
-
-           UpdateLineColumn(c);
-           backSlashCnt++;
+            available = tokenBegin;
+    }
+
+    protected void UpdateLineColumn(char c) {
+        column++;
+
+        if (prevCharIsLF) {
+            prevCharIsLF = false;
+            line += (column = 1);
+        }
+        else if (prevCharIsCR) {
+            prevCharIsCR = false;
+            if (c == '\n') {
+                prevCharIsLF = true;
+            }
+            else
+                line += (column = 1);
         }
 
-        // Here, we have seen an odd number of backslash's followed by a 'u'
-        try
-        {
-           while ((c = ReadByte()) == 'u')
-              ++column;
+        switch (c) {
+            case '\r':
+                prevCharIsCR = true;
+                break;
+            case '\n':
+                prevCharIsLF = true;
+                break;
+            case '\t':
+                column--;
+                column += (tabSize - (column % tabSize));
+                break;
+            default:
+                break;
+        }
+
+        bufline[bufpos] = line;
+        bufcolumn[bufpos] = column;
+    }
+
+    /**
+     * Read a character.
+     * @throws java.io.IOException IO Exception
+     * @return char
+     */
+    public char readChar() throws java.io.IOException {
+        if (inBuf > 0) {
+            --inBuf;
 
-           buffer[bufpos] = c = (char)(hexval(c) << 12 |
-                                       hexval(ReadByte()) << 8 |
-                                       hexval(ReadByte()) << 4 |
-                                       hexval(ReadByte()));
+            if (++bufpos == bufsize)
+                bufpos = 0;
 
-           column += 4;
+            return buffer[bufpos];
+        }
+
+        char c;
+
+        if (++bufpos == available)
+            AdjustBuffSize();
+
+        if ((buffer[bufpos] = c = ReadByte()) == '\\') {
+            UpdateLineColumn(c);
+
+            int backSlashCnt = 1;
+
+            for (; ; ) // Read all the backslashes
+            {
+                if (++bufpos == available)
+                    AdjustBuffSize();
+
+                try {
+                    if ((buffer[bufpos] = c = ReadByte()) != '\\') {
+                        UpdateLineColumn(c);
+                        // found a non-backslash char.
+                        if ((c == 'u') && ((backSlashCnt & 1) == 1)) {
+                            if (--bufpos < 0)
+                                bufpos = bufsize - 1;
+
+                            break;
+                        }
+
+                        backup(backSlashCnt);
+                        return '\\';
+                    }
+                }
+                catch (java.io.IOException e) {
+                    if (backSlashCnt > 1)
+                        backup(backSlashCnt - 1);
+
+                    return '\\';
+                }
+
+                UpdateLineColumn(c);
+                backSlashCnt++;
+            }
+
+            // Here, we have seen an odd number of backslash's followed by a 'u'
+            try {
+                while ((c = ReadByte()) == 'u')
+                    ++column;
+
+                buffer[bufpos] = c = (char) (hexval(c) << 12 |
+                        hexval(ReadByte()) << 8 |
+                        hexval(ReadByte()) << 4 |
+                        hexval(ReadByte()));
+
+                column += 4;
+            }
+            catch (java.io.IOException e) {
+                throw new Error("Invalid escape character at line " + line +
+                        " column " + column + ".");
+            }
+
+            if (backSlashCnt == 1)
+                return c;
+            else {
+                backup(backSlashCnt - 1);
+                return '\\';
+            }
+        }
+        else {
+            UpdateLineColumn(c);
+            return c;
         }
-        catch(java.io.IOException e)
-        {
-           throw new Error("Invalid escape character at line " + line +
-                                         " column " + column + ".");
+    }
+
+    /**
+     * @deprecated
+     * @see #getEndColumn
+     * @return int
+     */
+    @Deprecated
+    public int getColumn() {
+        return bufcolumn[bufpos];
+    }
+
+    /**
+     * @deprecated
+     * @see #getEndLine
+     * @return int
+     */
+    @Deprecated
+    public int getLine() {
+        return bufline[bufpos];
+    }
+
+    /**
+     * Get end column.
+     * @return int
+     */
+    public int getEndColumn() {
+        return bufcolumn[bufpos];
+    }
+
+    /**
+     * Get end line.
+     * @return int
+     */
+    public int getEndLine() {
+        return bufline[bufpos];
+    }
+
+    /**
+     * @return column of token start
+     * @return int
+     */
+    public int getBeginColumn() {
+        return bufcolumn[tokenBegin];
+    }
+
+    /**
+     * @return line number of token start
+     * @return int
+     */
+    public int getBeginLine() {
+        return bufline[tokenBegin];
+    }
+
+    /**
+     * Retreat.
+     * @param amount int
+     */
+    public void backup(int amount) {
+
+        inBuf += amount;
+        if ((bufpos -= amount) < 0)
+            bufpos += bufsize;
+    }
+
+    /**
+     * Constructor.
+     * @param dstream Reader
+     * @param startline int
+     * @param startcolumn int
+     * @param buffersize int
+     */
+    public JavaCharStream(java.io.Reader dstream,
+                          int startline, int startcolumn, int buffersize) {
+        inputStream = dstream;
+        line = startline;
+        column = startcolumn - 1;
+
+        available = bufsize = buffersize;
+        buffer = new char[buffersize];
+        bufline = new int[buffersize];
+        bufcolumn = new int[buffersize];
+        nextCharBuf = new char[4096];
+    }
+
+    /**
+     * Constructor.
+     * @param dstream Reader
+     * @param startline int
+     * @param startcolumn int
+     */
+    public JavaCharStream(java.io.Reader dstream,
+                          int startline, int startcolumn) {
+        this(dstream, startline, startcolumn, 4096);
+    }
+
+    /**
+     * Constructor.
+     * @param dstream Reader
+     */
+    public JavaCharStream(java.io.Reader dstream) {
+        this(dstream, 1, 1, 4096);
+    }
+
+    /**
+     * Reinitialise.
+     * @param dstream Reader
+     * @param startline int
+     * @param startcolumn int
+     * @param buffersize int
+     */
+    public void ReInit(java.io.Reader dstream,
+                       int startline, int startcolumn, int buffersize) {
+        inputStream = dstream;
+        line = startline;
+        column = startcolumn - 1;
+
+        if (buffer == null || buffersize != buffer.length) {
+            available = bufsize = buffersize;
+            buffer = new char[buffersize];
+            bufline = new int[buffersize];
+            bufcolumn = new int[buffersize];
+            nextCharBuf = new char[4096];
         }
+        prevCharIsLF = prevCharIsCR = false;
+        tokenBegin = inBuf = maxNextCharInd = 0;
+        nextCharInd = bufpos = -1;
+    }
+
+    /**
+     * Reinitialise.
+     * @param dstream Reader
+     * @param startline int
+     * @param startcolumn int
+     */
+    public void ReInit(java.io.Reader dstream,
+                       int startline, int startcolumn) {
+        ReInit(dstream, startline, startcolumn, 4096);
+    }
+
+    /**
+     * Reinitialise.
+     * @param dstream Reader
+     */
+    public void ReInit(java.io.Reader dstream) {
+        ReInit(dstream, 1, 1, 4096);
+    }
+
+    /**
+     * Constructor.
+     * @param dstream Reader
+     * @param startline int
+     * @param startcolumn int
+     * @param buffersize int
+     * @param encoding String
+     * @throws java.io.UnsupportedEncodingException Encoding Exception
+     */
+    public JavaCharStream(java.io.InputStream dstream, String encoding, int startline,
+                          int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException {
+        this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
+    }
+
+    /**
+     * Constructor.
+     * @param dstream Reader
+     * @param startline int
+     * @param startcolumn int
+     * @param buffersize int
+     */
+    public JavaCharStream(java.io.InputStream dstream, int startline,
+                          int startcolumn, int buffersize) {
+        this(new java.io.InputStreamReader(dstream), startline, startcolumn, 4096);
+    }
+
+    /**
+     * Constructor.
+     * @param dstream Reader
+     * @param startline int
+     * @param startcolumn int
+     * @param encoding String
+     * @throws java.io.UnsupportedEncodingException Encoding Exception
+     */
+    public JavaCharStream(java.io.InputStream dstream, String encoding, int startline,
+                          int startcolumn) throws java.io.UnsupportedEncodingException {
+        this(dstream, encoding, startline, startcolumn, 4096);
+    }
+
+    /**
+     * Constructor.
+     * @param dstream Reader
+     * @param startline int
+     * @param startcolumn int
+     */
+    public JavaCharStream(java.io.InputStream dstream, int startline,
+                          int startcolumn) {
+        this(dstream, startline, startcolumn, 4096);
+    }
+
+    /**
+     * Constructor.
+     * @param dstream Reader
+     * @param encoding String
+     * @throws java.io.UnsupportedEncodingException Encoding Exception
+     */
+    public JavaCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException {
+        this(dstream, encoding, 1, 1, 4096);
+    }
+
+    /**
+     * Constructor.
+     * @param dstream Reader
+     */
+    public JavaCharStream(java.io.InputStream dstream) {
+        this(dstream, 1, 1, 4096);
+    }
 
-        if (backSlashCnt == 1)
-           return c;
+    /**
+     * Reinitialise.
+     * @param dstream Reader
+     * @param startline int
+     * @param startcolumn int
+     * @param buffersize int
+     * @param encoding String
+     * @throws java.io.UnsupportedEncodingException Enconding Exception
+     */
+    public void ReInit(java.io.InputStream dstream, String encoding, int startline,
+                       int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException {
+        ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
+    }
+
+    /**
+     * Reinitialise.
+     * @param dstream Reader
+     * @param startline int
+     * @param startcolumn int
+     * @param buffersize int
+     */
+    public void ReInit(java.io.InputStream dstream, int startline,
+                       int startcolumn, int buffersize) {
+        ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
+    }
+
+    /**
+     * Reinitialise.
+     * @param dstream Reader
+     * @param startline int
+     * @param startcolumn int
+     * @param encoding String
+     * @throws java.io.UnsupportedEncodingException Encoding Exception
+     */
+    public void ReInit(java.io.InputStream dstream, String encoding, int startline,
+                       int startcolumn) throws java.io.UnsupportedEncodingException {
+        ReInit(dstream, encoding, startline, startcolumn, 4096);
+    }
+
+    /**
+     * Reinitialise.
+     * @param dstream Reader
+     * @param startline int
+     * @param startcolumn int
+     */
+    public void ReInit(java.io.InputStream dstream, int startline,
+                       int startcolumn) {
+        ReInit(dstream, startline, startcolumn, 4096);
+    }
+
+    /**
+     * Reinitialise.
+     * @param dstream Reader
+     * @param encoding String
+     * @throws java.io.UnsupportedEncodingException Encoding Exception
+     */
+    public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException {
+        ReInit(dstream, encoding, 1, 1, 4096);
+    }
+
+    /**
+     * Reinitialise.
+     * @param dstream Reader
+     */
+    public void ReInit(java.io.InputStream dstream) {
+        ReInit(dstream, 1, 1, 4096);
+    }
+
+    /**
+     * @return token image as String
+     */
+    public String GetImage() {
+        if (bufpos >= tokenBegin)
+            return new String(buffer, tokenBegin, bufpos - tokenBegin + 1);
         else
-        {
-           backup(backSlashCnt - 1);
-           return '\\';
+            return new String(buffer, tokenBegin, bufsize - tokenBegin) +
+                    new String(buffer, 0, bufpos + 1);
+    }
+
+    /**
+     * @param len int
+     * @return suffix
+     */
+    public char[] GetSuffix(int len) {
+        char[] ret = new char[len];
+
+        if ((bufpos + 1) >= len)
+            System.arraycopy(buffer, bufpos - len + 1, ret, 0, len);
+        else {
+            System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0,
+                    len - bufpos - 1);
+            System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1);
         }
-     }
-     else
-     {
-        UpdateLineColumn(c);
-        return c;
-     }
-  }
-
-  @Deprecated
-  /**
-   * @deprecated 
-   * @see #getEndColumn
-   */
-  public int getColumn() {
-     return bufcolumn[bufpos];
-  }
-
-  @Deprecated
-  /**
-   * @deprecated 
-   * @see #getEndLine
-   */
-  public int getLine() {
-     return bufline[bufpos];
-  }
-
-/** Get end column. */
-  public int getEndColumn() {
-     return bufcolumn[bufpos];
-  }
-
-/** Get end line. */
-  public int getEndLine() {
-     return bufline[bufpos];
-  }
-
-/** @return column of token start */
-  public int getBeginColumn() {
-     return bufcolumn[tokenBegin];
-  }
-
-/** @return line number of token start */
-  public int getBeginLine() {
-     return bufline[tokenBegin];
-  }
-
-/** Retreat. */
-  public void backup(int amount) {
-
-    inBuf += amount;
-    if ((bufpos -= amount) < 0)
-       bufpos += bufsize;
-  }
-
-/** Constructor. */
-  public JavaCharStream(java.io.Reader dstream,
-                 int startline, int startcolumn, int buffersize)
-  {
-    inputStream = dstream;
-    line = startline;
-    column = startcolumn - 1;
-
-    available = bufsize = buffersize;
-    buffer = new char[buffersize];
-    bufline = new int[buffersize];
-    bufcolumn = new int[buffersize];
-    nextCharBuf = new char[4096];
-  }
-
-/** Constructor. */
-  public JavaCharStream(java.io.Reader dstream,
-                                        int startline, int startcolumn)
-  {
-     this(dstream, startline, startcolumn, 4096);
-  }
-
-/** Constructor. */
-  public JavaCharStream(java.io.Reader dstream)
-  {
-     this(dstream, 1, 1, 4096);
-  }
-/** Reinitialise. */
-  public void ReInit(java.io.Reader dstream,
-                 int startline, int startcolumn, int buffersize)
-  {
-    inputStream = dstream;
-    line = startline;
-    column = startcolumn - 1;
-
-    if (buffer == null || buffersize != buffer.length)
-    {
-      available = bufsize = buffersize;
-      buffer = new char[buffersize];
-      bufline = new int[buffersize];
-      bufcolumn = new int[buffersize];
-      nextCharBuf = new char[4096];
-    }
-    prevCharIsLF = prevCharIsCR = false;
-    tokenBegin = inBuf = maxNextCharInd = 0;
-    nextCharInd = bufpos = -1;
-  }
-
-/** Reinitialise. */
-  public void ReInit(java.io.Reader dstream,
-                                        int startline, int startcolumn)
-  {
-     ReInit(dstream, startline, startcolumn, 4096);
-  }
-
-/** Reinitialise. */
-  public void ReInit(java.io.Reader dstream)
-  {
-     ReInit(dstream, 1, 1, 4096);
-  }
-/** Constructor. */
-  public JavaCharStream(java.io.InputStream dstream, String encoding, int startline,
-  int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
-  {
-     this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
-  }
-
-/** Constructor. */
-  public JavaCharStream(java.io.InputStream dstream, int startline,
-  int startcolumn, int buffersize)
-  {
-     this(new java.io.InputStreamReader(dstream), startline, startcolumn, 4096);
-  }
-
-/** Constructor. */
-  public JavaCharStream(java.io.InputStream dstream, String encoding, int startline,
-                        int startcolumn) throws java.io.UnsupportedEncodingException
-  {
-     this(dstream, encoding, startline, startcolumn, 4096);
-  }
-
-/** Constructor. */
-  public JavaCharStream(java.io.InputStream dstream, int startline,
-                        int startcolumn)
-  {
-     this(dstream, startline, startcolumn, 4096);
-  }
-
-/** Constructor. */
-  public JavaCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
-  {
-     this(dstream, encoding, 1, 1, 4096);
-  }
-
-/** Constructor. */
-  public JavaCharStream(java.io.InputStream dstream)
-  {
-     this(dstream, 1, 1, 4096);
-  }
-
-/** Reinitialise. */
-  public void ReInit(java.io.InputStream dstream, String encoding, int startline,
-  int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
-  {
-     ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
-  }
-
-/** Reinitialise. */
-  public void ReInit(java.io.InputStream dstream, int startline,
-  int startcolumn, int buffersize)
-  {
-     ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
-  }
-/** Reinitialise. */
-  public void ReInit(java.io.InputStream dstream, String encoding, int startline,
-                     int startcolumn) throws java.io.UnsupportedEncodingException
-  {
-     ReInit(dstream, encoding, startline, startcolumn, 4096);
-  }
-/** Reinitialise. */
-  public void ReInit(java.io.InputStream dstream, int startline,
-                     int startcolumn)
-  {
-     ReInit(dstream, startline, startcolumn, 4096);
-  }
-/** Reinitialise. */
-  public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
-  {
-     ReInit(dstream, encoding, 1, 1, 4096);
-  }
-
-/** Reinitialise. */
-  public void ReInit(java.io.InputStream dstream)
-  {
-     ReInit(dstream, 1, 1, 4096);
-  }
-
-  /** @return token image as String */
-  public String GetImage()
-  {
-     if (bufpos >= tokenBegin)
-        return new String(buffer, tokenBegin, bufpos - tokenBegin + 1);
-     else
-        return new String(buffer, tokenBegin, bufsize - tokenBegin) +
-                              new String(buffer, 0, bufpos + 1);
-  }
-
-  /** @return suffix */
-  public char[] GetSuffix(int len)
-  {
-     char[] ret = new char[len];
-
-     if ((bufpos + 1) >= len)
-        System.arraycopy(buffer, bufpos - len + 1, ret, 0, len);
-     else
-     {
-        System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0,
-                                                          len - bufpos - 1);
-        System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1);
-     }
-
-     return ret;
-  }
-
-  /** Set buffers back to null when finished. */
-  public void Done()
-  {
-     nextCharBuf = null;
-     buffer = null;
-     bufline = null;
-     bufcolumn = null;
-  }
-
-  /**
-   * Method to adjust line and column numbers for the start of a token.
-   */
-  public void adjustBeginLineColumn(int newLine, int newCol)
-  {
-     int start = tokenBegin;
-     int len;
-
-     if (bufpos >= tokenBegin)
-     {
-        len = bufpos - tokenBegin + inBuf + 1;
-     }
-     else
-     {
-        len = bufsize - tokenBegin + bufpos + 1 + inBuf;
-     }
-
-     int i = 0, j = 0, k = 0;
-     int nextColDiff = 0, columnDiff = 0;
-
-     while (i < len &&
-            bufline[j = start % bufsize] == bufline[k = ++start % bufsize])
-     {
-        bufline[j] = newLine;
-        nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j];
-        bufcolumn[j] = newCol + columnDiff;
-        columnDiff = nextColDiff;
-        i++;
-     } 
-
-     if (i < len)
-     {
-        bufline[j] = newLine++;
-        bufcolumn[j] = newCol + columnDiff;
-
-        while (i++ < len)
-        {
-           if (bufline[j = start % bufsize] != bufline[++start % bufsize])
-              bufline[j] = newLine++;
-           else
-              bufline[j] = newLine;
+
+        return ret;
+    }
+
+    /**
+     * Set buffers back to null when finished.
+     */
+    public void Done() {
+        nextCharBuf = null;
+        buffer = null;
+        bufline = null;
+        bufcolumn = null;
+    }
+
+    /**
+     * Method to adjust line and column numbers for the start of a token.
+     * @param newLine int
+     * @param newCol int
+     */
+    public void adjustBeginLineColumn(int newLine, int newCol) {
+        int start = tokenBegin;
+        int len;
+
+        if (bufpos >= tokenBegin) {
+            len = bufpos - tokenBegin + inBuf + 1;
+        }
+        else {
+            len = bufsize - tokenBegin + bufpos + 1 + inBuf;
         }
-     }
 
-     line = bufline[j];
-     column = bufcolumn[j];
-  }
+        int i = 0, j = 0, k = 0;
+        int nextColDiff = 0, columnDiff = 0;
+
+        while (i < len &&
+                bufline[j = start % bufsize] == bufline[k = ++start % bufsize]) {
+            bufline[j] = newLine;
+            nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j];
+            bufcolumn[j] = newCol + columnDiff;
+            columnDiff = nextColDiff;
+            i++;
+        }
+
+        if (i < len) {
+            bufline[j] = newLine++;
+            bufcolumn[j] = newCol + columnDiff;
+
+            while (i++ < len) {
+                if (bufline[j = start % bufsize] != bufline[++start % bufsize])
+                    bufline[j] = newLine++;
+                else
+                    bufline[j] = newLine;
+            }
+        }
+
+        line = bufline[j];
+        column = bufcolumn[j];
+    }
 
 }
 /* JavaCC - OriginalChecksum=46aebc46574be349188fc26719761bcb (do not edit this line) */
diff --git a/src/main/java/japa/parser/JavaParser.java b/src/main/java/japa/parser/JavaParser.java
index 3d8e24b..9585daa 100644
--- a/src/main/java/japa/parser/JavaParser.java
+++ b/src/main/java/japa/parser/JavaParser.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 J�lio Vilmar Gesser.
+ * Copyright (C) 2008 J&uacute;lio Vilmar Gesser.
  *
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -35,7 +35,7 @@ import java.io.InputStream;
  * by calling the method {@link setCacheParser} with <code>false</code>
  * as argument.</p>
  *
- * @author J�lio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class JavaParser {
 
@@ -101,7 +101,7 @@ public final class JavaParser {
      * @param encoding encoding of the source code
      * @return CompilationUnit representing the Java source code
      * @throws ParseException if the source code has parser errors
-     * @throws IOException 
+     * @throws IOException IO Exception
      */
     public static CompilationUnit parse(File file, String encoding) throws ParseException, IOException {
         FileInputStream in = new FileInputStream(file);
@@ -118,7 +118,7 @@ public final class JavaParser {
      * @param file {@link File} containing Java source code
      * @return CompilationUnit representing the Java source code
      * @throws ParseException if the source code has parser errors
-     * @throws IOException 
+     * @throws IOException IO Exception
      */
     public static CompilationUnit parse(File file) throws ParseException, IOException {
         return parse(file, null);
diff --git a/src/main/java/japa/parser/ParseException.java b/src/main/java/japa/parser/ParseException.java
index acdb518..c447504 100644
--- a/src/main/java/japa/parser/ParseException.java
+++ b/src/main/java/japa/parser/ParseException.java
@@ -1,8 +1,8 @@
 /* Generated By:JavaCC: Do not edit this line. ParseException.java Version 4.1 */
 /* JavaCCOptions:KEEP_LINE_COL=null */
 /*
- * Copyright (C) 2008 J�lio Vilmar Gesser.
- * 
+ * Copyright (C) 2008 J&uacute;lio Vilmar Gesser.
+ *
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
  * Java 1.5 parser and Abstract Syntax Tree is free software: you can redistribute it and/or modify
@@ -25,192 +25,201 @@ package japa.parser;
  * You can explicitly create objects of this exception type by
  * calling the method generateParseException in the generated
  * parser.
- *
+ * <p>
  * You can modify this class to customize your error reporting
  * mechanisms so long as you retain the public fields.
  */
 public class ParseException extends Exception {
 
-  /**
-   * This constructor is used by the method "generateParseException"
-   * in the generated parser.  Calling this constructor generates
-   * a new object of this type with the fields "currentToken",
-   * "expectedTokenSequences", and "tokenImage" set.  The boolean
-   * flag "specialConstructor" is also set to true to indicate that
-   * this constructor was used to create this object.
-   * This constructor calls its super class with the empty string
-   * to force the "toString" method of parent class "Throwable" to
-   * print the error message in the form:
-   *     ParseException: <result of getMessage>
-   */
-  public ParseException(Token currentTokenVal,
-                        int[][] expectedTokenSequencesVal,
-                        String[] tokenImageVal
-                       )
-  {
-    super("");
-    specialConstructor = true;
-    currentToken = currentTokenVal;
-    expectedTokenSequences = expectedTokenSequencesVal;
-    tokenImage = tokenImageVal;
-  }
+    /**
+     * This constructor is used by the method "generateParseException"
+     * in the generated parser.  Calling this constructor generates
+     * a new object of this type with the fields "currentToken",
+     * "expectedTokenSequences", and "tokenImage" set.  The boolean
+     * flag "specialConstructor" is also set to true to indicate that
+     * this constructor was used to create this object.
+     * This constructor calls its super class with the empty string
+     * to force the "toString" method of parent class "Throwable" to
+     * print the error message in the form:
+     * ParseException: &lt;result of getMessage&gt;
+     * @param currentTokenVal Token
+     * @param expectedTokenSequencesVal 2D array of int
+     * @param tokenImageVal array of String
+     */
+    public ParseException(Token currentTokenVal,
+                          int[][] expectedTokenSequencesVal,
+                          String[] tokenImageVal
+    ) {
+        super("");
+        specialConstructor = true;
+        currentToken = currentTokenVal;
+        expectedTokenSequences = expectedTokenSequencesVal;
+        tokenImage = tokenImageVal;
+    }
 
-  /**
-   * The following constructors are for use by you for whatever
-   * purpose you can think of.  Constructing the exception in this
-   * manner makes the exception behave in the normal way - i.e., as
-   * documented in the class "Throwable".  The fields "errorToken",
-   * "expectedTokenSequences", and "tokenImage" do not contain
-   * relevant information.  The JavaCC generated code does not use
-   * these constructors.
-   */
+    /**
+     * The following constructors are for use by you for whatever
+     * purpose you can think of.  Constructing the exception in this
+     * manner makes the exception behave in the normal way - i.e., as
+     * documented in the class "Throwable".  The fields "errorToken",
+     * "expectedTokenSequences", and "tokenImage" do not contain
+     * relevant information.  The JavaCC generated code does not use
+     * these constructors.
+     */
 
-  public ParseException() {
-    super();
-    specialConstructor = false;
-  }
+    public ParseException() {
+        super();
+        specialConstructor = false;
+    }
 
-  /** Constructor with message. */
-  public ParseException(String message) {
-    super(message);
-    specialConstructor = false;
-  }
+    /**
+     * Constructor with message.
+     * @param message String
+     */
+    public ParseException(String message) {
+        super(message);
+        specialConstructor = false;
+    }
 
-  /**
-   * This variable determines which constructor was used to create
-   * this object and thereby affects the semantics of the
-   * "getMessage" method (see below).
-   */
-  protected boolean specialConstructor;
+    /**
+     * This variable determines which constructor was used to create
+     * this object and thereby affects the semantics of the
+     * "getMessage" method (see below).
+     */
+    protected boolean specialConstructor;
 
-  /**
-   * This is the last token that has been consumed successfully.  If
-   * this object has been created due to a parse error, the token
-   * followng this token will (therefore) be the first error token.
-   */
-  public Token currentToken;
+    /**
+     * This is the last token that has been consumed successfully.  If
+     * this object has been created due to a parse error, the token
+     * followng this token will (therefore) be the first error token.
+     */
+    public Token currentToken;
 
-  /**
-   * Each entry in this array is an array of integers.  Each array
-   * of integers represents a sequence of tokens (by their ordinal
-   * values) that is expected at this point of the parse.
-   */
-  public int[][] expectedTokenSequences;
+    /**
+     * Each entry in this array is an array of integers.  Each array
+     * of integers represents a sequence of tokens (by their ordinal
+     * values) that is expected at this point of the parse.
+     */
+    public int[][] expectedTokenSequences;
 
-  /**
-   * This is a reference to the "tokenImage" array of the generated
-   * parser within which the parse error occurred.  This array is
-   * defined in the generated ...Constants interface.
-   */
-  public String[] tokenImage;
+    /**
+     * This is a reference to the "tokenImage" array of the generated
+     * parser within which the parse error occurred.  This array is
+     * defined in the generated ...Constants interface.
+     */
+    public String[] tokenImage;
 
-  /**
-   * This method has the standard behavior when this object has been
-   * created using the standard constructors.  Otherwise, it uses
-   * "currentToken" and "expectedTokenSequences" to generate a parse
-   * error message and returns it.  If this object has been created
-   * due to a parse error, and you do not catch it (it gets thrown
-   * from the parser), then this method is called during the printing
-   * of the final stack trace, and hence the correct error message
-   * gets displayed.
-   */
-  public String getMessage() {
-    if (!specialConstructor) {
-      return super.getMessage();
-    }
-    StringBuffer expected = new StringBuffer();
-    int maxSize = 0;
-    for (int i = 0; i < expectedTokenSequences.length; i++) {
-      if (maxSize < expectedTokenSequences[i].length) {
-        maxSize = expectedTokenSequences[i].length;
-      }
-      for (int j = 0; j < expectedTokenSequences[i].length; j++) {
-        expected.append(tokenImage[expectedTokenSequences[i][j]]).append(' ');
-      }
-      if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {
-        expected.append("...");
-      }
-      expected.append(eol).append("    ");
-    }
-    String retval = "Encountered \"";
-    Token tok = currentToken.next;
-    for (int i = 0; i < maxSize; i++) {
-      if (i != 0) retval += " ";
-      if (tok.kind == 0) {
-        retval += tokenImage[0];
-        break;
-      }
-      retval += " " + tokenImage[tok.kind];
-      retval += " \"";
-      retval += add_escapes(tok.image);
-      retval += " \"";
-      tok = tok.next; 
-    }
-    retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
-    retval += "." + eol;
-    if (expectedTokenSequences.length == 1) {
-      retval += "Was expecting:" + eol + "    ";
-    } else {
-      retval += "Was expecting one of:" + eol + "    ";
+    /**
+     * This method has the standard behavior when this object has been
+     * created using the standard constructors.  Otherwise, it uses
+     * "currentToken" and "expectedTokenSequences" to generate a parse
+     * error message and returns it.  If this object has been created
+     * due to a parse error, and you do not catch it (it gets thrown
+     * from the parser), then this method is called during the printing
+     * of the final stack trace, and hence the correct error message
+     * gets displayed.
+     * @return String
+     */
+    public String getMessage() {
+        if (!specialConstructor) {
+            return super.getMessage();
+        }
+        StringBuffer expected = new StringBuffer();
+        int maxSize = 0;
+        for (int i = 0; i < expectedTokenSequences.length; i++) {
+            if (maxSize < expectedTokenSequences[i].length) {
+                maxSize = expectedTokenSequences[i].length;
+            }
+            for (int j = 0; j < expectedTokenSequences[i].length; j++) {
+                expected.append(tokenImage[expectedTokenSequences[i][j]]).append(' ');
+            }
+            if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {
+                expected.append("...");
+            }
+            expected.append(eol).append("    ");
+        }
+        String retval = "Encountered \"";
+        Token tok = currentToken.next;
+        for (int i = 0; i < maxSize; i++) {
+            if (i != 0) retval += " ";
+            if (tok.kind == 0) {
+                retval += tokenImage[0];
+                break;
+            }
+            retval += " " + tokenImage[tok.kind];
+            retval += " \"";
+            retval += add_escapes(tok.image);
+            retval += " \"";
+            tok = tok.next;
+        }
+        retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
+        retval += "." + eol;
+        if (expectedTokenSequences.length == 1) {
+            retval += "Was expecting:" + eol + "    ";
+        }
+        else {
+            retval += "Was expecting one of:" + eol + "    ";
+        }
+        retval += expected.toString();
+        return retval;
     }
-    retval += expected.toString();
-    return retval;
-  }
 
-  /**
-   * The end of line string for this machine.
-   */
-  protected String eol = System.getProperty("line.separator", "\n");
- 
-  /**
-   * Used to convert raw characters to their escaped version
-   * when these raw version cannot be used as part of an ASCII
-   * string literal.
-   */
-  protected String add_escapes(String str) {
-      StringBuffer retval = new StringBuffer();
-      char ch;
-      for (int i = 0; i < str.length(); i++) {
-        switch (str.charAt(i))
-        {
-           case 0 :
-              continue;
-           case '\b':
-              retval.append("\\b");
-              continue;
-           case '\t':
-              retval.append("\\t");
-              continue;
-           case '\n':
-              retval.append("\\n");
-              continue;
-           case '\f':
-              retval.append("\\f");
-              continue;
-           case '\r':
-              retval.append("\\r");
-              continue;
-           case '\"':
-              retval.append("\\\"");
-              continue;
-           case '\'':
-              retval.append("\\\'");
-              continue;
-           case '\\':
-              retval.append("\\\\");
-              continue;
-           default:
-              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
-                 String s = "0000" + Integer.toString(ch, 16);
-                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
-              } else {
-                 retval.append(ch);
-              }
-              continue;
+    /**
+     * The end of line string for this machine.
+     */
+    protected String eol = System.getProperty("line.separator", "\n");
+
+    /**
+     * Used to convert raw characters to their escaped version
+     * when these raw version cannot be used as part of an ASCII
+     * string literal.
+     * @param str String
+     * @return String
+     */
+    protected String add_escapes(String str) {
+        StringBuffer retval = new StringBuffer();
+        char ch;
+        for (int i = 0; i < str.length(); i++) {
+            switch (str.charAt(i)) {
+                case 0:
+                    continue;
+                case '\b':
+                    retval.append("\\b");
+                    continue;
+                case '\t':
+                    retval.append("\\t");
+                    continue;
+                case '\n':
+                    retval.append("\\n");
+                    continue;
+                case '\f':
+                    retval.append("\\f");
+                    continue;
+                case '\r':
+                    retval.append("\\r");
+                    continue;
+                case '\"':
+                    retval.append("\\\"");
+                    continue;
+                case '\'':
+                    retval.append("\\\'");
+                    continue;
+                case '\\':
+                    retval.append("\\\\");
+                    continue;
+                default:
+                    if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
+                        String s = "0000" + Integer.toString(ch, 16);
+                        retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+                    }
+                    else {
+                        retval.append(ch);
+                    }
+                    continue;
+            }
         }
-      }
-      return retval.toString();
-   }
+        return retval.toString();
+    }
 
 }
 /* JavaCC - OriginalChecksum=1164e36971d84a0433c5f702fcb960dd (do not edit this line) */
diff --git a/src/main/java/japa/parser/Token.java b/src/main/java/japa/parser/Token.java
index c17d099..3a93b8c 100644
--- a/src/main/java/japa/parser/Token.java
+++ b/src/main/java/japa/parser/Token.java
@@ -1,7 +1,7 @@
 /* Generated By:JavaCC: Do not edit this line. Token.java Version 4.1 */
 /* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COL=null */
 /*
- * Copyright (C) 2008 J�lio Vilmar Gesser.
+ * Copyright (C) 2008 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -78,6 +78,7 @@ public class Token {
    * interpreter. This attribute value is often different from the image.
    * Any subclass of Token that actually wants to return a non-null value can
    * override this method as appropriate.
+   * @return Object
    */
   public Object getValue() {
     return null;
@@ -90,6 +91,7 @@ public class Token {
 
   /**
    * Constructs a new token for the specified Image.
+   * @param kind int
    */
   public Token(int kind)
   {
@@ -98,6 +100,8 @@ public class Token {
 
   /**
    * Constructs a new token for the specified Image and Kind.
+   * @param kind int
+   * @param image String
    */
   public Token(int kind, String image)
   {
@@ -124,6 +128,9 @@ public class Token {
    *
    * to the following switch statement. Then you can cast matchedToken
    * variable to the appropriate type and use sit in your lexical actions.
+   * @param ofKind int
+   * @param image String
+   * @return Token
    */
   public static Token newToken(int ofKind, String image)
   {
diff --git a/src/main/java/japa/parser/TokenMgrError.java b/src/main/java/japa/parser/TokenMgrError.java
index e24c5b8..6041c66 100644
--- a/src/main/java/japa/parser/TokenMgrError.java
+++ b/src/main/java/japa/parser/TokenMgrError.java
@@ -1,8 +1,8 @@
 /* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 4.1 */
 /* JavaCCOptions: */
 /*
- * Copyright (C) 2008 J�lio Vilmar Gesser.
- * 
+ * Copyright (C) 2008 J&uacute;lio Vilmar Gesser.
+ *
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
  * Java 1.5 parser and Abstract Syntax Tree is free software: you can redistribute it and/or modify
@@ -20,140 +20,168 @@
  */
 package japa.parser;
 
-/** Token Manager Error. */
+/**
+ * Token Manager Error.
+ */
 @SuppressWarnings("serial")
-public class TokenMgrError extends Error
-{
+public class TokenMgrError extends Error {
 
-   /*
-    * Ordinals for various reasons why an Error of this type can be thrown.
-    */
+    /*
+     * Ordinals for various reasons why an Error of this type can be thrown.
+     */
 
-   /**
-    * Lexical error occurred.
-    */
-   static final int LEXICAL_ERROR = 0;
+    /**
+     * Lexical error occurred.
+     */
+    static final int LEXICAL_ERROR = 0;
 
-   /**
-    * An attempt was made to create a second instance of a static token manager.
-    */
-   static final int STATIC_LEXER_ERROR = 1;
+    /**
+     * An attempt was made to create a second instance of a static token manager.
+     */
+    static final int STATIC_LEXER_ERROR = 1;
 
-   /**
-    * Tried to change to an invalid lexical state.
-    */
-   static final int INVALID_LEXICAL_STATE = 2;
+    /**
+     * Tried to change to an invalid lexical state.
+     */
+    static final int INVALID_LEXICAL_STATE = 2;
 
-   /**
-    * Detected (and bailed out of) an infinite loop in the token manager.
-    */
-   static final int LOOP_DETECTED = 3;
+    /**
+     * Detected (and bailed out of) an infinite loop in the token manager.
+     */
+    static final int LOOP_DETECTED = 3;
 
-   /**
-    * Indicates the reason why the exception is thrown. It will have
-    * one of the above 4 values.
-    */
-   int errorCode;
+    /**
+     * Indicates the reason why the exception is thrown. It will have
+     * one of the above 4 values.
+     */
+    int errorCode;
 
-   /**
-    * Replaces unprintable characters by their escaped (or unicode escaped)
-    * equivalents in the given string
-    */
-   protected static final String addEscapes(String str) {
-      StringBuffer retval = new StringBuffer();
-      char ch;
-      for (int i = 0; i < str.length(); i++) {
-        switch (str.charAt(i))
-        {
-           case 0 :
-              continue;
-           case '\b':
-              retval.append("\\b");
-              continue;
-           case '\t':
-              retval.append("\\t");
-              continue;
-           case '\n':
-              retval.append("\\n");
-              continue;
-           case '\f':
-              retval.append("\\f");
-              continue;
-           case '\r':
-              retval.append("\\r");
-              continue;
-           case '\"':
-              retval.append("\\\"");
-              continue;
-           case '\'':
-              retval.append("\\\'");
-              continue;
-           case '\\':
-              retval.append("\\\\");
-              continue;
-           default:
-              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
-                 String s = "0000" + Integer.toString(ch, 16);
-                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
-              } else {
-                 retval.append(ch);
-              }
-              continue;
+    /**
+     * Replaces unprintable characters by their escaped (or unicode escaped)
+     * equivalents in the given string
+     *
+     * @param str String
+     * @return String
+     */
+    protected static final String addEscapes(String str) {
+        StringBuffer retval = new StringBuffer();
+        char ch;
+        for (int i = 0; i < str.length(); i++) {
+            switch (str.charAt(i)) {
+                case 0:
+                    continue;
+                case '\b':
+                    retval.append("\\b");
+                    continue;
+                case '\t':
+                    retval.append("\\t");
+                    continue;
+                case '\n':
+                    retval.append("\\n");
+                    continue;
+                case '\f':
+                    retval.append("\\f");
+                    continue;
+                case '\r':
+                    retval.append("\\r");
+                    continue;
+                case '\"':
+                    retval.append("\\\"");
+                    continue;
+                case '\'':
+                    retval.append("\\\'");
+                    continue;
+                case '\\':
+                    retval.append("\\\\");
+                    continue;
+                default:
+                    if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
+                        String s = "0000" + Integer.toString(ch, 16);
+                        retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+                    }
+                    else {
+                        retval.append(ch);
+                    }
+                    continue;
+            }
         }
-      }
-      return retval.toString();
-   }
+        return retval.toString();
+    }
 
-   /**
-    * Returns a detailed message for the Error when it is thrown by the
-    * token manager to indicate a lexical error.
-    * Parameters : 
-    *    EOFSeen     : indicates if EOF caused the lexical error
-    *    curLexState : lexical state in which this error occurred
-    *    errorLine   : line number when the error occurred
-    *    errorColumn : column number when the error occurred
-    *    errorAfter  : prefix that was seen before this error occurred
-    *    curchar     : the offending character
-    * Note: You can customize the lexical error message by modifying this method.
-    */
-   protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) {
-      return("Lexical error at line " +
-           errorLine + ", column " +
-           errorColumn + ".  Encountered: " +
-           (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") +
-           "after : \"" + addEscapes(errorAfter) + "\"");
-   }
+    /**
+     * Returns a detailed message for the Error when it is thrown by the
+     * token manager to indicate a lexical error.
+     * Parameters :
+     * EOFSeen     : indicates if EOF caused the lexical error
+     * curLexState : lexical state in which this error occurred
+     * errorLine   : line number when the error occurred
+     * errorColumn : column number when the error occurred
+     * errorAfter  : prefix that was seen before this error occurred
+     * curchar     : the offending character
+     * Note: You can customize the lexical error message by modifying this method.
+     *
+     * @param EOFSeen     bool
+     * @param lexState    int
+     * @param errorLine   int
+     * @param errorColumn int
+     * @param errorAfter  String
+     * @param curChar     char
+     * @return String
+     */
+    protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) {
+        return ("Lexical error at line " +
+                errorLine + ", column " +
+                errorColumn + ".  Encountered: " +
+                (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int) curChar + "), ") +
+                "after : \"" + addEscapes(errorAfter) + "\"");
+    }
 
-   /**
-    * You can also modify the body of this method to customize your error messages.
-    * For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not
-    * of end-users concern, so you can return something like : 
-    *
-    *     "Internal Error : Please file a bug report .... "
-    *
-    * from this method for such cases in the release version of your parser.
-    */
-   public String getMessage() {
-      return super.getMessage();
-   }
+    /**
+     * You can also modify the body of this method to customize your error messages.
+     * For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not
+     * of end-users concern, so you can return something like :
+     * <p>
+     * "Internal Error : Please file a bug report .... "
+     * <p>
+     * from this method for such cases in the release version of your parser.
+     * @return String
+     */
+    public String getMessage() {
+        return super.getMessage();
+    }
 
-   /*
-    * Constructors of various flavors follow.
-    */
+    /*
+     * Constructors of various flavors follow.
+     */
 
-   /** No arg constructor. */
-   public TokenMgrError() {
-   }
+    /**
+     * No arg constructor.
+     */
+    public TokenMgrError() {
+    }
 
-   /** Constructor with message and reason. */
-   public TokenMgrError(String message, int reason) {
-      super(message);
-      errorCode = reason;
-   }
+    /**
+     * Constructor with message and reason.
+     * @param message String
+     * @param reason int
+     */
+    public TokenMgrError(String message, int reason) {
+        super(message);
+        errorCode = reason;
+    }
 
-   /** Full Constructor. */
-   public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) {
-      this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
-   }
+    /**
+     * Full Constructor.
+     * @param EOFSeen bool
+     * @param lexState int
+     * @param errorLine int
+     * @param errorColumn int
+     * @param errorAfter String
+     * @param curChar char
+     * @param reason int
+     */
+    public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) {
+        this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
+    }
 }
 /* JavaCC - OriginalChecksum=c0bde2b885c772c9db66b8a6b4f07329 (do not edit this line) */
diff --git a/src/main/java/japa/parser/ast/BlockComment.java b/src/main/java/japa/parser/ast/BlockComment.java
index c8c3001..c77bdbd 100644
--- a/src/main/java/japa/parser/ast/BlockComment.java
+++ b/src/main/java/japa/parser/ast/BlockComment.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -31,7 +31,7 @@ import japa.parser.ast.visitor.VoidVisitor;
  * Block comments can has multi lines and are delimited by "/&#42;" and
  * "&#42;/".
  * 
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class BlockComment extends Comment {
 
diff --git a/src/main/java/japa/parser/ast/Comment.java b/src/main/java/japa/parser/ast/Comment.java
index 1f77173..e95a951 100644
--- a/src/main/java/japa/parser/ast/Comment.java
+++ b/src/main/java/japa/parser/ast/Comment.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -29,7 +29,7 @@ import japa.parser.ast.body.JavadocComment;
  * @see BlockComment
  * @see LineComment
  * @see JavadocComment
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public abstract class Comment extends Node {
 
diff --git a/src/main/java/japa/parser/ast/CompilationUnit.java b/src/main/java/japa/parser/ast/CompilationUnit.java
index ab1cc94..53e349f 100644
--- a/src/main/java/japa/parser/ast/CompilationUnit.java
+++ b/src/main/java/japa/parser/ast/CompilationUnit.java
@@ -1,6 +1,6 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
- * 
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
+ *
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
  * Java 1.5 parser and Abstract Syntax Tree is free software: you can redistribute it and/or modify
@@ -38,21 +38,19 @@ import java.util.List;
  * compilation unit.
  * </p>
  * The CompilationUnit is constructed following the syntax:<br>
- * <code>
- * <table>
+ * <table summary="">
  * <tr valign=baseline>
  *   <td align=right>CompilationUnit</td>
  *   <td align=center>::=</td>
  *   <td align=left>
- *   ( {@link PackageDeclaration} )?<br> 
+ *   ( {@link PackageDeclaration} )?<br>
  *   ( {@link ImportDeclaration} )*<br>
  *   ( {@link TypeDeclaration} )*<br>
  *   </td>
  * </tr>
- * </table> 
- * </code>
- * 
- * @author Julio Vilmar Gesser
+ * </table>
+ *
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class CompilationUnit extends Node {
 
@@ -97,9 +95,9 @@ public final class CompilationUnit extends Node {
      * Including javadocs, line comments and block comments of all types,
      * inner-classes and other members.<br>
      * If there is no comment, <code>null</code> is returned.
-     * 
+     *
      * @return list with all comments of this compilation unit or
-     *         <code>null</code>
+     * <code>null</code>
      * @see JavadocComment
      * @see LineComment
      * @see BlockComment
@@ -111,7 +109,7 @@ public final class CompilationUnit extends Node {
     /**
      * Retrieves the list of imports declared in this compilation unit or
      * <code>null</code> if there is no import.
-     * 
+     *
      * @return the list of imports or <code>null</code> if there is no import
      */
     public List<ImportDeclaration> getImports() {
@@ -122,7 +120,7 @@ public final class CompilationUnit extends Node {
      * Retrieves the package declaration of this compilation unit.<br>
      * If this compilation unit has no package declaration (default package),
      * <code>null</code> is returned.
-     * 
+     *
      * @return the package declaration or <code>null</code>
      */
     public PackageDeclaration getPackage() {
@@ -132,7 +130,7 @@ public final class CompilationUnit extends Node {
     /**
      * Return the list of types declared in this compilation unit.<br>
      * If there is no types declared, <code>null</code> is returned.
-     * 
+     *
      * @return the list of types or <code>null</code> null if there is no type
      * @see AnnotationDeclaration
      * @see ClassOrInterfaceDeclaration
@@ -145,9 +143,8 @@ public final class CompilationUnit extends Node {
 
     /**
      * Sets the list of comments of this compilation unit.
-     * 
-     * @param comments
-     *            the list of comments
+     *
+     * @param comments the list of comments
      */
     public void setComments(List<Comment> comments) {
         this.comments = comments;
@@ -156,9 +153,8 @@ public final class CompilationUnit extends Node {
     /**
      * Sets the list of imports of this compilation unit. The list is initially
      * <code>null</code>.
-     * 
-     * @param imports
-     *            the list of imports
+     *
+     * @param imports the list of imports
      */
     public void setImports(List<ImportDeclaration> imports) {
         this.imports = imports;
@@ -166,10 +162,9 @@ public final class CompilationUnit extends Node {
 
     /**
      * Sets or clear the package declarations of this compilation unit.
-     * 
-     * @param pakage
-     *            the pakage declaration to set or <code>null</code> to default
-     *            package
+     *
+     * @param pakage the pakage declaration to set or <code>null</code> to default
+     *               package
      */
     public void setPackage(PackageDeclaration pakage) {
         this.pakage = pakage;
@@ -177,9 +172,8 @@ public final class CompilationUnit extends Node {
 
     /**
      * Sets the list of types declared in this compilation unit.
-     * 
-     * @param types
-     *            the lis of types
+     *
+     * @param types the lis of types
      */
     public void setTypes(List<TypeDeclaration> types) {
         this.types = types;
diff --git a/src/main/java/japa/parser/ast/ImportDeclaration.java b/src/main/java/japa/parser/ast/ImportDeclaration.java
index 5e26c95..ef1ed10 100644
--- a/src/main/java/japa/parser/ast/ImportDeclaration.java
+++ b/src/main/java/japa/parser/ast/ImportDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -31,8 +31,7 @@ import japa.parser.ast.visitor.VoidVisitor;
  * {@link CompilationUnit}.
  * </p>
  * The ImportDeclaration is constructed following the syntax:<br>
- * <code>
- * <table>
+ * <table summary="">
  * <tr valign=baseline>
  *   <td align=right>ImportDeclaration</td>
  *   <td align=center>::=</td>
@@ -40,10 +39,9 @@ import japa.parser.ast.visitor.VoidVisitor;
  *       "import" ( "static" )? {@link NameExpr} ( "." "*" )? ";"
  *   </td>
  * </tr>
- * </table> 
- * </code>
+ * </table>
  * 
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ImportDeclaration extends Node {
 
diff --git a/src/main/java/japa/parser/ast/LineComment.java b/src/main/java/japa/parser/ast/LineComment.java
index 782433b..b1fcad3 100644
--- a/src/main/java/japa/parser/ast/LineComment.java
+++ b/src/main/java/japa/parser/ast/LineComment.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -30,7 +30,7 @@ import japa.parser.ast.visitor.VoidVisitor;
  * </p>
  * Line comments are started with "//" and finish at the end of the line ("\n").
  * 
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class LineComment extends Comment {
 
diff --git a/src/main/java/japa/parser/ast/Node.java b/src/main/java/japa/parser/ast/Node.java
index 3824ffb..65e0433 100644
--- a/src/main/java/japa/parser/ast/Node.java
+++ b/src/main/java/japa/parser/ast/Node.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  *
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -29,7 +29,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 /**
  * Abstract class for all nodes of the AST.
  * 
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public abstract class Node {
 
@@ -103,6 +103,7 @@ public abstract class Node {
 
     /**
      * Use this to retrieve additional information associated to this node.
+     * @return Object
      */
     public final Object getData() {
         return data;
@@ -148,6 +149,7 @@ public abstract class Node {
 
     /**
      * Use this to store additional information to this node.
+     * @param data Object
      */
     public final void setData(Object data) {
         this.data = data;
diff --git a/src/main/java/japa/parser/ast/PackageDeclaration.java b/src/main/java/japa/parser/ast/PackageDeclaration.java
index b3dbe7c..498942d 100644
--- a/src/main/java/japa/parser/ast/PackageDeclaration.java
+++ b/src/main/java/japa/parser/ast/PackageDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -34,8 +34,7 @@ import java.util.List;
  * optional for the {@link CompilationUnit}.
  * </p>
  * The PackageDeclaration is constructed following the syntax:<br>
- * <code>
- * <table>
+ * <table summary="">
  * <tr valign=baseline>
  *   <td align=right>PackageDeclaration</td>
  *   <td align=center>::=</td>
@@ -43,10 +42,9 @@ import java.util.List;
  *       ( {@link AnnotationExpr} )* "package" {@link NameExpr} ) ";"
  *   </td>
  * </tr>
- * </table> 
- * </code>
+ * </table>
  * 
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class PackageDeclaration extends Node {
 
diff --git a/src/main/java/japa/parser/ast/TypeParameter.java b/src/main/java/japa/parser/ast/TypeParameter.java
index a05b843..b9bb7e3 100644
--- a/src/main/java/japa/parser/ast/TypeParameter.java
+++ b/src/main/java/japa/parser/ast/TypeParameter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -32,19 +32,17 @@ import java.util.List;
  * This class represents the declaration of a genetics argument.
  * </p>
  * The TypeParameter is constructed following the syntax:<br>
- * <code>
- * <table>
+ * <table summary="">
  * <tr valign=baseline>
  *   <td align=right>TypeParameter</td>
  *   <td align=center>::=</td>
  *   <td align=left>
- *       &lt;IDENTIFIER&gt; ( "extends" {@link ClassOrInterfaceType} ( "&" {@link ClassOrInterfaceType} )* )?
+ *       &lt;IDENTIFIER&gt; ( "extends" {@link ClassOrInterfaceType} ( "&amp;" {@link ClassOrInterfaceType} )* )?
  *   </td>
  * </tr>
- * </table> 
- * </code>
+ * </table>
  * 
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class TypeParameter extends Node {
 
diff --git a/src/main/java/japa/parser/ast/body/AnnotationDeclaration.java b/src/main/java/japa/parser/ast/body/AnnotationDeclaration.java
index e35f7b3..e44b933 100644
--- a/src/main/java/japa/parser/ast/body/AnnotationDeclaration.java
+++ b/src/main/java/japa/parser/ast/body/AnnotationDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -28,7 +28,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class AnnotationDeclaration extends TypeDeclaration {
 
diff --git a/src/main/java/japa/parser/ast/body/AnnotationMemberDeclaration.java b/src/main/java/japa/parser/ast/body/AnnotationMemberDeclaration.java
index f09c829..016f0a0 100644
--- a/src/main/java/japa/parser/ast/body/AnnotationMemberDeclaration.java
+++ b/src/main/java/japa/parser/ast/body/AnnotationMemberDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -30,7 +30,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class AnnotationMemberDeclaration extends BodyDeclaration {
 
diff --git a/src/main/java/japa/parser/ast/body/BodyDeclaration.java b/src/main/java/japa/parser/ast/body/BodyDeclaration.java
index 040cab8..d4ddda8 100644
--- a/src/main/java/japa/parser/ast/body/BodyDeclaration.java
+++ b/src/main/java/japa/parser/ast/body/BodyDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -27,7 +27,7 @@ import japa.parser.ast.expr.AnnotationExpr;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public abstract class BodyDeclaration extends Node {
 
diff --git a/src/main/java/japa/parser/ast/body/ClassOrInterfaceDeclaration.java b/src/main/java/japa/parser/ast/body/ClassOrInterfaceDeclaration.java
index f5047a6..7b8b7d6 100644
--- a/src/main/java/japa/parser/ast/body/ClassOrInterfaceDeclaration.java
+++ b/src/main/java/japa/parser/ast/body/ClassOrInterfaceDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -30,7 +30,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ClassOrInterfaceDeclaration extends TypeDeclaration {
 
diff --git a/src/main/java/japa/parser/ast/body/ConstructorDeclaration.java b/src/main/java/japa/parser/ast/body/ConstructorDeclaration.java
index ee01491..3f4aff2 100644
--- a/src/main/java/japa/parser/ast/body/ConstructorDeclaration.java
+++ b/src/main/java/japa/parser/ast/body/ConstructorDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -31,7 +31,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ConstructorDeclaration extends BodyDeclaration {
 
diff --git a/src/main/java/japa/parser/ast/body/EmptyMemberDeclaration.java b/src/main/java/japa/parser/ast/body/EmptyMemberDeclaration.java
index 2eb47ea..76b7328 100644
--- a/src/main/java/japa/parser/ast/body/EmptyMemberDeclaration.java
+++ b/src/main/java/japa/parser/ast/body/EmptyMemberDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class EmptyMemberDeclaration extends BodyDeclaration {
 
diff --git a/src/main/java/japa/parser/ast/body/EmptyTypeDeclaration.java b/src/main/java/japa/parser/ast/body/EmptyTypeDeclaration.java
index 2a904ce..c811f6d 100644
--- a/src/main/java/japa/parser/ast/body/EmptyTypeDeclaration.java
+++ b/src/main/java/japa/parser/ast/body/EmptyTypeDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class EmptyTypeDeclaration extends TypeDeclaration {
 
diff --git a/src/main/java/japa/parser/ast/body/EnumConstantDeclaration.java b/src/main/java/japa/parser/ast/body/EnumConstantDeclaration.java
index c892215..d3d2068 100644
--- a/src/main/java/japa/parser/ast/body/EnumConstantDeclaration.java
+++ b/src/main/java/japa/parser/ast/body/EnumConstantDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -29,7 +29,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class EnumConstantDeclaration extends BodyDeclaration {
 
diff --git a/src/main/java/japa/parser/ast/body/EnumDeclaration.java b/src/main/java/japa/parser/ast/body/EnumDeclaration.java
index 2d84df0..3feb010 100644
--- a/src/main/java/japa/parser/ast/body/EnumDeclaration.java
+++ b/src/main/java/japa/parser/ast/body/EnumDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -29,7 +29,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class EnumDeclaration extends TypeDeclaration {
 
diff --git a/src/main/java/japa/parser/ast/body/FieldDeclaration.java b/src/main/java/japa/parser/ast/body/FieldDeclaration.java
index be32015..5c5bac5 100644
--- a/src/main/java/japa/parser/ast/body/FieldDeclaration.java
+++ b/src/main/java/japa/parser/ast/body/FieldDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -30,7 +30,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class FieldDeclaration extends BodyDeclaration {
 
diff --git a/src/main/java/japa/parser/ast/body/InitializerDeclaration.java b/src/main/java/japa/parser/ast/body/InitializerDeclaration.java
index bb3419a..aea86af 100644
--- a/src/main/java/japa/parser/ast/body/InitializerDeclaration.java
+++ b/src/main/java/japa/parser/ast/body/InitializerDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class InitializerDeclaration extends BodyDeclaration {
 
diff --git a/src/main/java/japa/parser/ast/body/JavadocComment.java b/src/main/java/japa/parser/ast/body/JavadocComment.java
index dda95c7..17a2f4e 100644
--- a/src/main/java/japa/parser/ast/body/JavadocComment.java
+++ b/src/main/java/japa/parser/ast/body/JavadocComment.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class JavadocComment extends Comment {
 
diff --git a/src/main/java/japa/parser/ast/body/MethodDeclaration.java b/src/main/java/japa/parser/ast/body/MethodDeclaration.java
index dc9fded..f7b3daa 100644
--- a/src/main/java/japa/parser/ast/body/MethodDeclaration.java
+++ b/src/main/java/japa/parser/ast/body/MethodDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -32,7 +32,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class MethodDeclaration extends BodyDeclaration {
 
diff --git a/src/main/java/japa/parser/ast/body/ModifierSet.java b/src/main/java/japa/parser/ast/body/ModifierSet.java
index ea34b2b..5f92675 100644
--- a/src/main/java/japa/parser/ast/body/ModifierSet.java
+++ b/src/main/java/japa/parser/ast/body/ModifierSet.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -53,6 +53,9 @@ public final class ModifierSet {
 
     /**
      * Adds the given modifier.
+     * @param modifiers int
+     * @param mod int
+     * @return int
      */
     public static int addModifier(int modifiers, int mod) {
         return modifiers | mod;
@@ -82,7 +85,7 @@ public final class ModifierSet {
         return (modifiers & PROTECTED) != 0;
     }
 
-    /**
+    /*
      * A set of accessors that indicate whether the specified modifier is in the
      * set.
      */
@@ -113,6 +116,9 @@ public final class ModifierSet {
 
     /**
      * Removes the given modifier.
+     * @param modifiers int
+     * @param mod int
+     * @return int
      */
     public static int removeModifier(int modifiers, int mod) {
         return modifiers & ~mod;
diff --git a/src/main/java/japa/parser/ast/body/Parameter.java b/src/main/java/japa/parser/ast/body/Parameter.java
index ce8af93..9f81251 100644
--- a/src/main/java/japa/parser/ast/body/Parameter.java
+++ b/src/main/java/japa/parser/ast/body/Parameter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -30,7 +30,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class Parameter extends Node {
 
diff --git a/src/main/java/japa/parser/ast/body/TypeDeclaration.java b/src/main/java/japa/parser/ast/body/TypeDeclaration.java
index 32df944..61908fc 100644
--- a/src/main/java/japa/parser/ast/body/TypeDeclaration.java
+++ b/src/main/java/japa/parser/ast/body/TypeDeclaration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.expr.AnnotationExpr;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public abstract class TypeDeclaration extends BodyDeclaration {
 
diff --git a/src/main/java/japa/parser/ast/body/VariableDeclarator.java b/src/main/java/japa/parser/ast/body/VariableDeclarator.java
index 5d041f2..35c4d7b 100644
--- a/src/main/java/japa/parser/ast/body/VariableDeclarator.java
+++ b/src/main/java/japa/parser/ast/body/VariableDeclarator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -27,7 +27,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class VariableDeclarator extends Node {
 
diff --git a/src/main/java/japa/parser/ast/body/VariableDeclaratorId.java b/src/main/java/japa/parser/ast/body/VariableDeclaratorId.java
index 62c9279..57d33df 100644
--- a/src/main/java/japa/parser/ast/body/VariableDeclaratorId.java
+++ b/src/main/java/japa/parser/ast/body/VariableDeclaratorId.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class VariableDeclaratorId extends Node {
 
diff --git a/src/main/java/japa/parser/ast/expr/AnnotationExpr.java b/src/main/java/japa/parser/ast/expr/AnnotationExpr.java
index 099753e..57e0898 100644
--- a/src/main/java/japa/parser/ast/expr/AnnotationExpr.java
+++ b/src/main/java/japa/parser/ast/expr/AnnotationExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -22,7 +22,7 @@
 package japa.parser.ast.expr;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public abstract class AnnotationExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/ArrayAccessExpr.java b/src/main/java/japa/parser/ast/expr/ArrayAccessExpr.java
index b9054de..ea87866 100644
--- a/src/main/java/japa/parser/ast/expr/ArrayAccessExpr.java
+++ b/src/main/java/japa/parser/ast/expr/ArrayAccessExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ArrayAccessExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/ArrayCreationExpr.java b/src/main/java/japa/parser/ast/expr/ArrayCreationExpr.java
index 7c9b43a..a440783 100644
--- a/src/main/java/japa/parser/ast/expr/ArrayCreationExpr.java
+++ b/src/main/java/japa/parser/ast/expr/ArrayCreationExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -28,7 +28,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ArrayCreationExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/ArrayInitializerExpr.java b/src/main/java/japa/parser/ast/expr/ArrayInitializerExpr.java
index 5171b7c..23e0b50 100644
--- a/src/main/java/japa/parser/ast/expr/ArrayInitializerExpr.java
+++ b/src/main/java/japa/parser/ast/expr/ArrayInitializerExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -27,7 +27,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ArrayInitializerExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/AssignExpr.java b/src/main/java/japa/parser/ast/expr/AssignExpr.java
index 05d1dc8..23f4296 100644
--- a/src/main/java/japa/parser/ast/expr/AssignExpr.java
+++ b/src/main/java/japa/parser/ast/expr/AssignExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class AssignExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/BinaryExpr.java b/src/main/java/japa/parser/ast/expr/BinaryExpr.java
index b1dad77..44ad3af 100644
--- a/src/main/java/japa/parser/ast/expr/BinaryExpr.java
+++ b/src/main/java/japa/parser/ast/expr/BinaryExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class BinaryExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/BooleanLiteralExpr.java b/src/main/java/japa/parser/ast/expr/BooleanLiteralExpr.java
index e5b18bc..b8547d0 100644
--- a/src/main/java/japa/parser/ast/expr/BooleanLiteralExpr.java
+++ b/src/main/java/japa/parser/ast/expr/BooleanLiteralExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class BooleanLiteralExpr extends LiteralExpr {
 
diff --git a/src/main/java/japa/parser/ast/expr/CastExpr.java b/src/main/java/japa/parser/ast/expr/CastExpr.java
index a9f0f44..d1f828b 100644
--- a/src/main/java/japa/parser/ast/expr/CastExpr.java
+++ b/src/main/java/japa/parser/ast/expr/CastExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class CastExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/CharLiteralExpr.java b/src/main/java/japa/parser/ast/expr/CharLiteralExpr.java
index c9e0c0c..72a9b5e 100644
--- a/src/main/java/japa/parser/ast/expr/CharLiteralExpr.java
+++ b/src/main/java/japa/parser/ast/expr/CharLiteralExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class CharLiteralExpr extends StringLiteralExpr {
 
diff --git a/src/main/java/japa/parser/ast/expr/ClassExpr.java b/src/main/java/japa/parser/ast/expr/ClassExpr.java
index 1a13c9e..3a5f903 100644
--- a/src/main/java/japa/parser/ast/expr/ClassExpr.java
+++ b/src/main/java/japa/parser/ast/expr/ClassExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ClassExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/ConditionalExpr.java b/src/main/java/japa/parser/ast/expr/ConditionalExpr.java
index 7ed9fab..aa33de4 100644
--- a/src/main/java/japa/parser/ast/expr/ConditionalExpr.java
+++ b/src/main/java/japa/parser/ast/expr/ConditionalExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ConditionalExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/DoubleLiteralExpr.java b/src/main/java/japa/parser/ast/expr/DoubleLiteralExpr.java
index 2fbebd8..7a3429b 100644
--- a/src/main/java/japa/parser/ast/expr/DoubleLiteralExpr.java
+++ b/src/main/java/japa/parser/ast/expr/DoubleLiteralExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class DoubleLiteralExpr extends StringLiteralExpr {
 
diff --git a/src/main/java/japa/parser/ast/expr/EnclosedExpr.java b/src/main/java/japa/parser/ast/expr/EnclosedExpr.java
index d6e392c..1e33f50 100644
--- a/src/main/java/japa/parser/ast/expr/EnclosedExpr.java
+++ b/src/main/java/japa/parser/ast/expr/EnclosedExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class EnclosedExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/Expression.java b/src/main/java/japa/parser/ast/expr/Expression.java
index 68a0ce6..7f7425e 100644
--- a/src/main/java/japa/parser/ast/expr/Expression.java
+++ b/src/main/java/japa/parser/ast/expr/Expression.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -24,7 +24,7 @@ package japa.parser.ast.expr;
 import japa.parser.ast.Node;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public abstract class Expression extends Node {
 
diff --git a/src/main/java/japa/parser/ast/expr/FieldAccessExpr.java b/src/main/java/japa/parser/ast/expr/FieldAccessExpr.java
index 139e7d4..2fab107 100644
--- a/src/main/java/japa/parser/ast/expr/FieldAccessExpr.java
+++ b/src/main/java/japa/parser/ast/expr/FieldAccessExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -28,7 +28,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class FieldAccessExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/InstanceOfExpr.java b/src/main/java/japa/parser/ast/expr/InstanceOfExpr.java
index 166dff1..f474a76 100644
--- a/src/main/java/japa/parser/ast/expr/InstanceOfExpr.java
+++ b/src/main/java/japa/parser/ast/expr/InstanceOfExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class InstanceOfExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/IntegerLiteralExpr.java b/src/main/java/japa/parser/ast/expr/IntegerLiteralExpr.java
index 4554e43..3f814c0 100644
--- a/src/main/java/japa/parser/ast/expr/IntegerLiteralExpr.java
+++ b/src/main/java/japa/parser/ast/expr/IntegerLiteralExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public class IntegerLiteralExpr extends StringLiteralExpr {
 
diff --git a/src/main/java/japa/parser/ast/expr/IntegerLiteralMinValueExpr.java b/src/main/java/japa/parser/ast/expr/IntegerLiteralMinValueExpr.java
index 82dae96..1734f6c 100644
--- a/src/main/java/japa/parser/ast/expr/IntegerLiteralMinValueExpr.java
+++ b/src/main/java/japa/parser/ast/expr/IntegerLiteralMinValueExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class IntegerLiteralMinValueExpr extends IntegerLiteralExpr {
 
diff --git a/src/main/java/japa/parser/ast/expr/LiteralExpr.java b/src/main/java/japa/parser/ast/expr/LiteralExpr.java
index a617a8a..ec1a7df 100644
--- a/src/main/java/japa/parser/ast/expr/LiteralExpr.java
+++ b/src/main/java/japa/parser/ast/expr/LiteralExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -22,7 +22,7 @@
 package japa.parser.ast.expr;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public abstract class LiteralExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/LongLiteralExpr.java b/src/main/java/japa/parser/ast/expr/LongLiteralExpr.java
index bdf59a8..01ed4fa 100644
--- a/src/main/java/japa/parser/ast/expr/LongLiteralExpr.java
+++ b/src/main/java/japa/parser/ast/expr/LongLiteralExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public class LongLiteralExpr extends StringLiteralExpr {
 
diff --git a/src/main/java/japa/parser/ast/expr/LongLiteralMinValueExpr.java b/src/main/java/japa/parser/ast/expr/LongLiteralMinValueExpr.java
index bb0db25..99b17e2 100644
--- a/src/main/java/japa/parser/ast/expr/LongLiteralMinValueExpr.java
+++ b/src/main/java/japa/parser/ast/expr/LongLiteralMinValueExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class LongLiteralMinValueExpr extends LongLiteralExpr {
 
diff --git a/src/main/java/japa/parser/ast/expr/MarkerAnnotationExpr.java b/src/main/java/japa/parser/ast/expr/MarkerAnnotationExpr.java
index 90eb6cb..7f2fe3b 100644
--- a/src/main/java/japa/parser/ast/expr/MarkerAnnotationExpr.java
+++ b/src/main/java/japa/parser/ast/expr/MarkerAnnotationExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class MarkerAnnotationExpr extends AnnotationExpr {
 
diff --git a/src/main/java/japa/parser/ast/expr/MemberValuePair.java b/src/main/java/japa/parser/ast/expr/MemberValuePair.java
index fb79e44..dea19f2 100644
--- a/src/main/java/japa/parser/ast/expr/MemberValuePair.java
+++ b/src/main/java/japa/parser/ast/expr/MemberValuePair.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class MemberValuePair extends Node {
 
diff --git a/src/main/java/japa/parser/ast/expr/MethodCallExpr.java b/src/main/java/japa/parser/ast/expr/MethodCallExpr.java
index 18ad9d1..9e02dbf 100644
--- a/src/main/java/japa/parser/ast/expr/MethodCallExpr.java
+++ b/src/main/java/japa/parser/ast/expr/MethodCallExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -28,7 +28,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class MethodCallExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/NameExpr.java b/src/main/java/japa/parser/ast/expr/NameExpr.java
index 1a566fc..c823b09 100644
--- a/src/main/java/japa/parser/ast/expr/NameExpr.java
+++ b/src/main/java/japa/parser/ast/expr/NameExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public class NameExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/NormalAnnotationExpr.java b/src/main/java/japa/parser/ast/expr/NormalAnnotationExpr.java
index 5711f5b..317f20a 100644
--- a/src/main/java/japa/parser/ast/expr/NormalAnnotationExpr.java
+++ b/src/main/java/japa/parser/ast/expr/NormalAnnotationExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -27,7 +27,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class NormalAnnotationExpr extends AnnotationExpr {
 
diff --git a/src/main/java/japa/parser/ast/expr/NullLiteralExpr.java b/src/main/java/japa/parser/ast/expr/NullLiteralExpr.java
index ae2d8ab..a76f463 100644
--- a/src/main/java/japa/parser/ast/expr/NullLiteralExpr.java
+++ b/src/main/java/japa/parser/ast/expr/NullLiteralExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class NullLiteralExpr extends LiteralExpr {
 
diff --git a/src/main/java/japa/parser/ast/expr/ObjectCreationExpr.java b/src/main/java/japa/parser/ast/expr/ObjectCreationExpr.java
index 16c612a..29d053e 100644
--- a/src/main/java/japa/parser/ast/expr/ObjectCreationExpr.java
+++ b/src/main/java/japa/parser/ast/expr/ObjectCreationExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -30,7 +30,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ObjectCreationExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/QualifiedNameExpr.java b/src/main/java/japa/parser/ast/expr/QualifiedNameExpr.java
index 6b712ee..5255c6f 100644
--- a/src/main/java/japa/parser/ast/expr/QualifiedNameExpr.java
+++ b/src/main/java/japa/parser/ast/expr/QualifiedNameExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class QualifiedNameExpr extends NameExpr {
 
diff --git a/src/main/java/japa/parser/ast/expr/SingleMemberAnnotationExpr.java b/src/main/java/japa/parser/ast/expr/SingleMemberAnnotationExpr.java
index 62396f0..e666db1 100644
--- a/src/main/java/japa/parser/ast/expr/SingleMemberAnnotationExpr.java
+++ b/src/main/java/japa/parser/ast/expr/SingleMemberAnnotationExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class SingleMemberAnnotationExpr extends AnnotationExpr {
 
diff --git a/src/main/java/japa/parser/ast/expr/StringLiteralExpr.java b/src/main/java/japa/parser/ast/expr/StringLiteralExpr.java
index 6ae7485..0a92a12 100644
--- a/src/main/java/japa/parser/ast/expr/StringLiteralExpr.java
+++ b/src/main/java/japa/parser/ast/expr/StringLiteralExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public class StringLiteralExpr extends LiteralExpr {
 
diff --git a/src/main/java/japa/parser/ast/expr/SuperExpr.java b/src/main/java/japa/parser/ast/expr/SuperExpr.java
index 8dd2659..5d3044c 100644
--- a/src/main/java/japa/parser/ast/expr/SuperExpr.java
+++ b/src/main/java/japa/parser/ast/expr/SuperExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class SuperExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/ThisExpr.java b/src/main/java/japa/parser/ast/expr/ThisExpr.java
index 989b4ed..be07e10 100644
--- a/src/main/java/japa/parser/ast/expr/ThisExpr.java
+++ b/src/main/java/japa/parser/ast/expr/ThisExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ThisExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/UnaryExpr.java b/src/main/java/japa/parser/ast/expr/UnaryExpr.java
index 237a548..9a34904 100644
--- a/src/main/java/japa/parser/ast/expr/UnaryExpr.java
+++ b/src/main/java/japa/parser/ast/expr/UnaryExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class UnaryExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/expr/VariableDeclarationExpr.java b/src/main/java/japa/parser/ast/expr/VariableDeclarationExpr.java
index 82273a8..8a30791 100644
--- a/src/main/java/japa/parser/ast/expr/VariableDeclarationExpr.java
+++ b/src/main/java/japa/parser/ast/expr/VariableDeclarationExpr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -30,7 +30,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class VariableDeclarationExpr extends Expression {
 
diff --git a/src/main/java/japa/parser/ast/stmt/AssertStmt.java b/src/main/java/japa/parser/ast/stmt/AssertStmt.java
index 81413b2..7bcd7cb 100644
--- a/src/main/java/japa/parser/ast/stmt/AssertStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/AssertStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class AssertStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/BlockStmt.java b/src/main/java/japa/parser/ast/stmt/BlockStmt.java
index e83eea7..fcb3bac 100644
--- a/src/main/java/japa/parser/ast/stmt/BlockStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/BlockStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -27,7 +27,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class BlockStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/BreakStmt.java b/src/main/java/japa/parser/ast/stmt/BreakStmt.java
index 7536e6b..dde9aba 100644
--- a/src/main/java/japa/parser/ast/stmt/BreakStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/BreakStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class BreakStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/CatchClause.java b/src/main/java/japa/parser/ast/stmt/CatchClause.java
index 4eddfe8..1e44a1b 100644
--- a/src/main/java/japa/parser/ast/stmt/CatchClause.java
+++ b/src/main/java/japa/parser/ast/stmt/CatchClause.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -27,7 +27,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class CatchClause extends Node {
 
diff --git a/src/main/java/japa/parser/ast/stmt/ContinueStmt.java b/src/main/java/japa/parser/ast/stmt/ContinueStmt.java
index 3484d7b..7329710 100644
--- a/src/main/java/japa/parser/ast/stmt/ContinueStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/ContinueStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ContinueStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/DoStmt.java b/src/main/java/japa/parser/ast/stmt/DoStmt.java
index 25418c4..f52ffe6 100644
--- a/src/main/java/japa/parser/ast/stmt/DoStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/DoStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class DoStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/EmptyStmt.java b/src/main/java/japa/parser/ast/stmt/EmptyStmt.java
index fe68bba..87bb672 100644
--- a/src/main/java/japa/parser/ast/stmt/EmptyStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/EmptyStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class EmptyStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/ExplicitConstructorInvocationStmt.java b/src/main/java/japa/parser/ast/stmt/ExplicitConstructorInvocationStmt.java
index c270f41..e73f6f7 100644
--- a/src/main/java/japa/parser/ast/stmt/ExplicitConstructorInvocationStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/ExplicitConstructorInvocationStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -29,7 +29,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ExplicitConstructorInvocationStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/ExpressionStmt.java b/src/main/java/japa/parser/ast/stmt/ExpressionStmt.java
index 9b02e92..706bbec 100644
--- a/src/main/java/japa/parser/ast/stmt/ExpressionStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/ExpressionStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ExpressionStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/ForStmt.java b/src/main/java/japa/parser/ast/stmt/ForStmt.java
index fa32187..1604884 100644
--- a/src/main/java/japa/parser/ast/stmt/ForStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/ForStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -28,7 +28,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ForStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/ForeachStmt.java b/src/main/java/japa/parser/ast/stmt/ForeachStmt.java
index 9c2250a..28e5e65 100644
--- a/src/main/java/japa/parser/ast/stmt/ForeachStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/ForeachStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -27,7 +27,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ForeachStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/IfStmt.java b/src/main/java/japa/parser/ast/stmt/IfStmt.java
index 9b577a1..3b0dde5 100644
--- a/src/main/java/japa/parser/ast/stmt/IfStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/IfStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class IfStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/LabeledStmt.java b/src/main/java/japa/parser/ast/stmt/LabeledStmt.java
index b20bc2e..8103010 100644
--- a/src/main/java/japa/parser/ast/stmt/LabeledStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/LabeledStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class LabeledStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/ReturnStmt.java b/src/main/java/japa/parser/ast/stmt/ReturnStmt.java
index 564c5ca..9be57a3 100644
--- a/src/main/java/japa/parser/ast/stmt/ReturnStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/ReturnStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ReturnStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/Statement.java b/src/main/java/japa/parser/ast/stmt/Statement.java
index 7f9cfe9..ebdfa1f 100644
--- a/src/main/java/japa/parser/ast/stmt/Statement.java
+++ b/src/main/java/japa/parser/ast/stmt/Statement.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  *
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -24,7 +24,7 @@ package japa.parser.ast.stmt;
 import japa.parser.ast.Node;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public abstract class Statement extends Node {
 
diff --git a/src/main/java/japa/parser/ast/stmt/SwitchEntryStmt.java b/src/main/java/japa/parser/ast/stmt/SwitchEntryStmt.java
index 02dbbe3..0d63bd3 100644
--- a/src/main/java/japa/parser/ast/stmt/SwitchEntryStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/SwitchEntryStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -28,7 +28,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class SwitchEntryStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/SwitchStmt.java b/src/main/java/japa/parser/ast/stmt/SwitchStmt.java
index 05fbd71..f0f84f3 100644
--- a/src/main/java/japa/parser/ast/stmt/SwitchStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/SwitchStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -28,7 +28,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class SwitchStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/SynchronizedStmt.java b/src/main/java/japa/parser/ast/stmt/SynchronizedStmt.java
index c661abd..17c82b8 100644
--- a/src/main/java/japa/parser/ast/stmt/SynchronizedStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/SynchronizedStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class SynchronizedStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/ThrowStmt.java b/src/main/java/japa/parser/ast/stmt/ThrowStmt.java
index 0e08ff8..31da58e 100644
--- a/src/main/java/japa/parser/ast/stmt/ThrowStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/ThrowStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ThrowStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/TryStmt.java b/src/main/java/japa/parser/ast/stmt/TryStmt.java
index d5b0fa8..9a36f72 100644
--- a/src/main/java/japa/parser/ast/stmt/TryStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/TryStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -27,7 +27,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class TryStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/TypeDeclarationStmt.java b/src/main/java/japa/parser/ast/stmt/TypeDeclarationStmt.java
index 88ccc66..1d45468 100644
--- a/src/main/java/japa/parser/ast/stmt/TypeDeclarationStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/TypeDeclarationStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class TypeDeclarationStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/stmt/WhileStmt.java b/src/main/java/japa/parser/ast/stmt/WhileStmt.java
index d0530ff..0477840 100644
--- a/src/main/java/japa/parser/ast/stmt/WhileStmt.java
+++ b/src/main/java/japa/parser/ast/stmt/WhileStmt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -26,7 +26,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class WhileStmt extends Statement {
 
diff --git a/src/main/java/japa/parser/ast/type/ClassOrInterfaceType.java b/src/main/java/japa/parser/ast/type/ClassOrInterfaceType.java
index 6caa07d..9445483 100644
--- a/src/main/java/japa/parser/ast/type/ClassOrInterfaceType.java
+++ b/src/main/java/japa/parser/ast/type/ClassOrInterfaceType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -27,7 +27,7 @@ import japa.parser.ast.visitor.VoidVisitor;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ClassOrInterfaceType extends Type {
 
diff --git a/src/main/java/japa/parser/ast/type/PrimitiveType.java b/src/main/java/japa/parser/ast/type/PrimitiveType.java
index 2b63c9d..3c3bdac 100644
--- a/src/main/java/japa/parser/ast/type/PrimitiveType.java
+++ b/src/main/java/japa/parser/ast/type/PrimitiveType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class PrimitiveType extends Type {
 
diff --git a/src/main/java/japa/parser/ast/type/ReferenceType.java b/src/main/java/japa/parser/ast/type/ReferenceType.java
index ba5a8ec..8397b74 100644
--- a/src/main/java/japa/parser/ast/type/ReferenceType.java
+++ b/src/main/java/japa/parser/ast/type/ReferenceType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class ReferenceType extends Type {
 
diff --git a/src/main/java/japa/parser/ast/type/Type.java b/src/main/java/japa/parser/ast/type/Type.java
index 33327cb..bb72151 100644
--- a/src/main/java/japa/parser/ast/type/Type.java
+++ b/src/main/java/japa/parser/ast/type/Type.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -24,7 +24,7 @@ package japa.parser.ast.type;
 import japa.parser.ast.Node;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public abstract class Type extends Node {
 
diff --git a/src/main/java/japa/parser/ast/type/VoidType.java b/src/main/java/japa/parser/ast/type/VoidType.java
index 8224511..bcea96f 100644
--- a/src/main/java/japa/parser/ast/type/VoidType.java
+++ b/src/main/java/japa/parser/ast/type/VoidType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class VoidType extends Type {
 
diff --git a/src/main/java/japa/parser/ast/type/WildcardType.java b/src/main/java/japa/parser/ast/type/WildcardType.java
index 8807420..45aa20b 100644
--- a/src/main/java/japa/parser/ast/type/WildcardType.java
+++ b/src/main/java/japa/parser/ast/type/WildcardType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -25,7 +25,7 @@ import japa.parser.ast.visitor.GenericVisitor;
 import japa.parser.ast.visitor.VoidVisitor;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public final class WildcardType extends Type {
 
diff --git a/src/main/java/japa/parser/ast/visitor/DumpVisitor.java b/src/main/java/japa/parser/ast/visitor/DumpVisitor.java
index 04f49bb..546ce5e 100644
--- a/src/main/java/japa/parser/ast/visitor/DumpVisitor.java
+++ b/src/main/java/japa/parser/ast/visitor/DumpVisitor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -112,7 +112,7 @@ import java.util.Iterator;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 
 public final class DumpVisitor implements VoidVisitor<Object> {
diff --git a/src/main/java/japa/parser/ast/visitor/EqualsVisitor.java b/src/main/java/japa/parser/ast/visitor/EqualsVisitor.java
index c85c329..bdfba84 100644
--- a/src/main/java/japa/parser/ast/visitor/EqualsVisitor.java
+++ b/src/main/java/japa/parser/ast/visitor/EqualsVisitor.java
@@ -87,7 +87,7 @@ import japa.parser.ast.type.WildcardType;
 import java.util.List;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public class EqualsVisitor implements GenericVisitor<Boolean, Node> {
 
diff --git a/src/main/java/japa/parser/ast/visitor/GenericVisitor.java b/src/main/java/japa/parser/ast/visitor/GenericVisitor.java
index 35a18dc..6ca00b2 100644
--- a/src/main/java/japa/parser/ast/visitor/GenericVisitor.java
+++ b/src/main/java/japa/parser/ast/visitor/GenericVisitor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -102,7 +102,7 @@ import japa.parser.ast.type.VoidType;
 import japa.parser.ast.type.WildcardType;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public interface GenericVisitor<R, A> {
 
diff --git a/src/main/java/japa/parser/ast/visitor/GenericVisitorAdapter.java b/src/main/java/japa/parser/ast/visitor/GenericVisitorAdapter.java
index 332ad7e..b74dc4f 100644
--- a/src/main/java/japa/parser/ast/visitor/GenericVisitorAdapter.java
+++ b/src/main/java/japa/parser/ast/visitor/GenericVisitorAdapter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 J�lio Vilmar Gesser.
+ * Copyright (C) 2008 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -108,7 +108,7 @@ import japa.parser.ast.type.VoidType;
 import japa.parser.ast.type.WildcardType;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public abstract class GenericVisitorAdapter<R, A> implements GenericVisitor<R, A> {
 
diff --git a/src/main/java/japa/parser/ast/visitor/ModifierVisitorAdapter.java b/src/main/java/japa/parser/ast/visitor/ModifierVisitorAdapter.java
index fe31974..816ca7e 100644
--- a/src/main/java/japa/parser/ast/visitor/ModifierVisitorAdapter.java
+++ b/src/main/java/japa/parser/ast/visitor/ModifierVisitorAdapter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 J�lio Vilmar Gesser.
+ * Copyright (C) 2008 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -115,7 +115,7 @@ import java.util.List;
  * to be changed. To do that just extend this class and override the methods
  * from the nodes who needs to be changed, returning the changed node.
  * 
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public abstract class ModifierVisitorAdapter<A> implements GenericVisitor<Node, A> {
 
diff --git a/src/main/java/japa/parser/ast/visitor/VoidVisitor.java b/src/main/java/japa/parser/ast/visitor/VoidVisitor.java
index 7459f5e..19bc37c 100644
--- a/src/main/java/japa/parser/ast/visitor/VoidVisitor.java
+++ b/src/main/java/japa/parser/ast/visitor/VoidVisitor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 J�lio Vilmar Gesser.
+ * Copyright (C) 2007 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -102,7 +102,7 @@ import japa.parser.ast.type.VoidType;
 import japa.parser.ast.type.WildcardType;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public interface VoidVisitor<A> {
 
diff --git a/src/main/java/japa/parser/ast/visitor/VoidVisitorAdapter.java b/src/main/java/japa/parser/ast/visitor/VoidVisitorAdapter.java
index c5dec2e..d7aa640 100644
--- a/src/main/java/japa/parser/ast/visitor/VoidVisitorAdapter.java
+++ b/src/main/java/japa/parser/ast/visitor/VoidVisitorAdapter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 J�lio Vilmar Gesser.
+ * Copyright (C) 2008 J&uacute;lio Vilmar Gesser.
  * 
  * This file is part of Java 1.5 parser and Abstract Syntax Tree.
  *
@@ -108,7 +108,7 @@ import japa.parser.ast.type.VoidType;
 import japa.parser.ast.type.WildcardType;
 
 /**
- * @author Julio Vilmar Gesser
+ * @author J&uacute;lio Vilmar Gesser
  */
 public abstract class VoidVisitorAdapter<A> implements VoidVisitor<A> {
 
-- 
GitLab