class LoopFutureObj {
    private String executorName;
    private boolean success;
    private Exception ex;


    public static LoopFutureObj success(String executorName) {
        LoopFutureObj result = new LoopFutureObj();
        result.setSuccess(true);
        result.setExecutorName(executorName);
        return result;
    }

    public static LoopFutureObj fail(String executorName, Exception ex) {<FILL_FUNCTION_BODY>}

    public Exception getEx() {
        return ex;
    }

    public String getExecutorName() {
        return executorName;
    }

    public boolean isSuccess() {
        return success;
    }

    public void setEx(Exception ex) {
        this.ex = ex;
    }

    public void setExecutorName(String executorName) {
        this.executorName = executorName;
    }

    public void setSuccess(boolean success) {
        this.success = success;
    }
}

        LoopFutureObj result = new LoopFutureObj();
        result.setSuccess(false);
        result.setExecutorName(executorName);
        result.setEx(ex);
        return result;
    
<no_super_class>