I have this compiler warning : Use of unchecked or unsafe operation on the above code
new InsertAllTask(essenceDao).execute(essenceList)
but I don't know why, I tried to run with -Xlint params no more informations.
The code works but warning is still there.
Hope you can help
Entire task :
public static class DeleteAllTask extends AsyncTask<Void, Void, Void> {
    private final EssenceDao essenceDao;
    private final List<Essence> essenceList;
    DeleteAllTask(EssenceDao essenceDao, List<Essence> list) {
        this.essenceDao = essenceDao;
        this.essenceList = list;
    }
    @Override
    protected Void doInBackground(Void... voids) {
        essenceDao.deleteAllEssence();
        return null;
    }
    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        if (essenceList != null) {
            // Insert new list
            new InsertAllTask(essenceDao).execute(essenceList);
        }
    }
}
The InsertTask :
public static class InsertAllTask extends AsyncTask<List<Essence>, Void, Void> {
    private final EssenceDao essenceDao;
    InsertAllTask(EssenceDao essenceDao) {
        this.essenceDao = essenceDao;
    }
    @Override
    @SafeVarargs
    protected final Void doInBackground(List<Essence>... essences) {
        essenceDao.insertEssence(essences[0]);
        return null;
    }
}
 
     
     
     
    
, Void, Void>```same as DeleteAllTask
– lupaulus May 23 '20 at 12:08, Void, Void>` and only using the first parameter of the varargs method, you could implement `AsyncTask` and use all arguments, e.g. `doInBackground(Essence... essences) { essenceDao.insertEssence(Arrays.asList(essences)); return null; }`. But then, the caller also needs to pass an array, i.e. `new InsertAllTask(essenceDao) .execute(essenceList.toArray(new Essence[0]));` 
– Holger May 26 '20 at 16:09