@Documented @Retention(value=RUNTIME) @Target(value={TYPE_USE,TYPE_PARAMETER}) @SubtypeOf(value=GTENegativeOne.class) public @interface NonNegative
Consider the following example, from a collection that wraps an array. This constructor
creates the delegate
array, which must have a non-negative size.
ArrayWrapper(@NonNegative int size) { delegate = new Object[size]; }