Github user aledsage commented on a diff in the pull request: https://github.com/apache/brooklyn-server/pull/817#discussion_r138592431 --- Diff: utils/common/src/main/java/org/apache/brooklyn/util/guava/TypeTokens.java --- @@ -24,6 +24,14 @@ public class TypeTokens { + // creating TypeToken is surprisingly expensive so cache these common ones + public static TypeToken<String> STRING = TypeToken.of(String.class); --- End diff -- If leaving as-is, then these should be `final`. I'd have gone for: ``` public static final Map<Class<?>, TypeToken<?>> COMMON_TYPE_TOKENS = ImmutableMap.<Class<?>, TypeToken<?>>builder() .put(String.class, TypeToken.of(String.class)) ... .build(); ``` And: ``` TypeToken<?> result = COMMON_TYPE_TOKENS.get(raw); if (result == null) result = TypeToken.of((Class<T>)raw); return (TypeToken<T>) result; ```
---