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