@Documented
 @Retention(value=RUNTIME)
 @Target(value={METHOD,CONSTRUCTOR})
public @interface Pure
Pure is a method annotation that means both SideEffectFree and Deterministic. The more important of these, when performing pluggable type-checking, is usually
 SideEffectFree.