@Documented @Retention(value=RUNTIME) @Target(value={METHOD,CONSTRUCTOR}) @InheritedAnnotation public @interface ReleasesNoLocks
@ReleasesNoLocks or a stronger
 annotation such as @SideEffectFree.
 The method might acquire locks but then release them, or might acquire locks but not release
 them (in which case it should also be annotated with @EnsuresLockHeld or
 @EnsuresLockHeldIf).
 
This is the default for methods being type-checked that have no @LockingFree,
 @MayReleaseLocks, @SideEffectFree, or @Pure
 annotation.
 
@ReleasesNoLocks provides a guarantee unlike @MayReleaseLocks, which
 provides no guarantees. However, @ReleasesNoLocks provides a weaker guarantee than
 @LockingFree.
MayReleaseLocks, 
LockingFree, 
SideEffectFree, 
Pure