docs: private static boolean isImmutable(Type type, VisitorState state) {
      switch (type.getKind()) {
        case BOOLEAN:
        case BYTE:
        case SHORT:
        case INT:
        case CHAR:
        case FLOAT:
          return true;
        case LONG:
        case DOUBLE:
          // double-width primitives aren't written atomically
          return true;
        default:
          break;
      }
      return IMMUTABLE_WHITELIST.contains(
          state.getTypes().erasure(type).tsym.getQualifiedName().toString());
    }