fix: forgot to break loop
use ArrayList instead of LinkedList to allow faster binarysearch (haven't implemented)
use osgi package from birt
use binary search to find tokens
add workaround of JDT problem (omit astnode when node has start position -1)
limit astnode cache size to 2048