You are using position
in your annonymous inner class. Hence it is required that position be final.
An anonymous class cannot access local variables in its enclosing scope that are not declared as final
or effectively final.
The final modifier indicates that the value of this field cannot change.
http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html