add guava TypeToken
format code