use ImmutableList.Builder instead of ArrayList