@Retention(value=RUNTIME)
@Target(value=METHOD)
public @interface POPAsyncMutex
Defines a method as asynchronous and mutex. Asynchronous method calls do not
wait for the call to finish and continue execution of the calling code
directly. Asynchronous methods can't have a return value. Mutex methods can
only be executed when no other method is executed on the same object.