code: public Violation isThreadSafeType(
        boolean allowContainerTypeParameters, Set<String> containerTypeParameters, Type type) {
      return type.accept(
          new ThreadSafeTypeVisitor(allowContainerTypeParameters, containerTypeParameters), null);
    }
docs: Returns an {@link Violation} explaining whether the type is threadsafe.
  
  @param allowContainerTypeParameters true when checking the instantiation of an {@code
  typeParameterAnnotation}-annotated type parameter; indicates that {@code
  containerTypeParameters} should be ignored
  @param containerTypeParameters type parameters in enclosing elements' containerOf
  specifications
  @param type to check for thread-safety