@Documented
@Target(value=METHOD)
@Retention(value=CLASS)
public @interface NonConst
NonConst
documents a method that performs its function by updating internal
state of the method receiver. Documenting methods in this way helps programmers understand
which methods examine the object and return results based on that examination but don't
change the internal object state and which methods, by contrast, perform their function
but updating or changing internal object state.Const