Callback Problem: Can't return a value from a method with void result type : <p>I want to return the <code>List&lt;Product&gt;</code> as result value without blocking, how is it done?</p>

<pre><code>public static List&lt;Product&gt; getProducts(@NonNull Context context){

    ProductDataSource.getInstance(context).readProducts(new IProductDataSource.IReadProductsCallback() {
        @Override
        public void onSuccess(List&lt;Product&gt; result) {
            return result; // error in here
        }

        @Override
        public void onFailure() {
            return null;  // error in here
        }
    });

}
</code></pre>
