refactoring: add matching condition into Token and use raw wrapped type in actual index
refactoring: contracts should obviously use List and not ArrayList, and Field is now a class
add IntegerIndex (only supports equals right now)