Inner classes defined within a method require variables declared in the method to be final, if they are accessed from within the inner classes
Why are only final variables accessible in anonymous class?