`ElementType.FIELD` vs `ElementType.TYPE_USE`
<p>I not fully understand the difference between annotating variable and annotating its type. 
Should I prefer type annotation over declaration annotation in this scenario?</p>

<pre><code>@EmailField // can be used on String or Array/Collection of String-s
private String email;
private @EmailType String email2;
@EmailField
private List&lt;@EmailType String&gt; emails;

@Target(ElementType.TYPE_USE)
@interface EmailType {}

@Target(ElementType.FIELD)
@interface EmailField {}
</code></pre>