Annotations that do *not* cause a class to be tested, but which are treated as valid
annotations to pass the test; for example, if @ThreadSafe is the marker
annotation, @Immutable would be included in this list, as an immutable class is by definition
thread-safe.

Returns a fix that adds a @SuppressWarnings(warningToSuppress) to the closest
suppressible element to the node pointed at by state.getPath(), optionally suffixing
the suppression with a comment suffix (e.g.

Annotation on a Refaster rule to allow code between every pair of consecutive top-level
statements in @BeforeTemplates that do not refer to variables Refaster knows about and do not
break or return, and moves that code to the beginning of the @AfterTemplate.

This checker matches iff *both* of the following conditions are true: 1) The class is assisted:
a) If there is a constructor that is annotated with @Inject and that constructor has at least one
parameter that is annotated with @Assisted.

Check that the super-type of a @ThreadSafe-annotated type is instantiated with
threadsafe type arguments where required by its annotation's containerOf element, and that any
type arguments that correspond to containerOf type parameters on the sub-type are also in the
super-type's containerOf spec.

Indicates that the annotated method is provided only to be overridden: it should not be
invoked from outside its declaring source file (as if it is private), and
overriding methods should not be directly invoked at all.

This check, for reasons of backwards compatibility or difficulty in cleaning up, should be
considered very likely to represent a real error in the vast majority (>99.9%) of
cases, but couldn't otherwise be turned on as an ERROR.

Matches if:
The method is public, void, and has no parameters;
the method is not already annotated with @Test, @Before, @After,
@BeforeClass, or @AfterClass;
the enclosing class appears to be intended to run in JUnit4, that is:
it is non-abstract,
it does not extend JUnit3 TestCase,
it has an @RunWith annotation or at least one other method annotated
@Test;
and, the method appears to be a test method, that is:
or, the method body contains a method call with a name that contains "assert",
"verify", "check", "fail", or "expect".

This checker matches methods that 1) are not themselves annotated with @Inject (neither
javax.inject.Inject nor com.google.inject.Inject) 2) descend from a method that is annotated
with @com.google.inject.Inject

This checker matches methods that 1) are not themselves annotated with @Inject 2) descend from a
method that is annotated with @javax.inject.Inject 3) do not descent from a method that is
annotated with @com.google.inject.Inject