@Target(value={TYPE_USE,TYPE_PARAMETER})
public @interface IndexOrLow
The 
 String.indexOf(String) method is declared as
 
   class String {
     @IndexOrLow("this") int indexOf(String str) { ... }
   }
 
 Writing @IndexOrLow("arr") is equivalent to writing @GTENegativeOne @LTLengthOf("arr"), and that is how it is
 treated internally by the checker. Thus, if you write an @IndexOrLow("arr") annotation,
 you might see warnings about @GTENegativeOne or @LTLengthOf.
GTENegativeOne, 
LTLengthOf| Modifier and Type | Required Element and Description | 
|---|---|
java.lang.String[] | 
value
Sequences that the annotated expression is a valid index for (or it's -1). 
 |