src/main/java/org/michailov/async/AsyncAgent.java
public CompletableFuture<Void> applyAsync() {
        ensureMode(WhenReadyMode.ONCE);
        CompletableFuture<Void> future = WhenReady.applyAsync(READY, ACTION, this, _asyncOptions);
        
        String logMessage = String.format("future=%1$d , class=%2$s , event=CREATE", future.hashCode(), getClass().getName());
        Logger.getLogger().info(logMessage);

        return future;
    }
/**
     * Starts a new {@link WhenReady#applyAsync} operation.
     * 
     * @return      A future that will get completed with the result returned from {@link #action} when the {@link #ready} predicate returns true.
     */
Starts a new  WhenReady#applyAsync operation.

@return      A future that will get completed with the result returned from  #action when the  #ready predicate returns true.
Starts a new WhenReady#applyAsync operation . @return A future that will get completed with the result returned from #action when the #ready predicate returns true .
public CompletableFuture<Void> applyAsync() {
        ensureMode(WhenReadyMode.ONCE);
        CompletableFuture<Void> future = WhenReady.applyAsync(READY, ACTION, this, _asyncOptions);
        String logMessage = String.format("future=%1$d , class=%2$s , event=CREATE", future.hashCode(), getClass().getName());
        Logger.getLogger().info(logMessage);
        return future;
    }
public CompletableFuture < Void > applyAsync ( ) { ensureMode ( WhenReadyMode . ONCE ) ; CompletableFuture < Void > future = WhenReady . applyAsync ( READY , ACTION , this , _asyncOptions ) ; String logMessage = String . format ( "future=%1$d , class=%2$s , event=CREATE" , future . hashCode ( ) , getClass ( ) . getName ( ) ) ; Logger . getLogger ( ) . info ( logMessage ) ; return future ; }
Starts a new {@link WhenReady#applyAsync} operation.
Starts a new { @link WhenReady#applyAsync } operation .