class DeleteAsyncOperationTask implements IDatabaseTask {

    @Override
    public void prepare(final IObject query) throws TaskPrepareException {
        try {
            deleteTask = IOC.resolve(
                    Keys.getOrAdd("db.collection.delete"),
                    connection,
                    collectionNameField.in(query),
                    documentField.in(query)
                    );
        } catch (Exception e) {
            throw new TaskPrepareException("Failed to delete async operation", e);
        }
    }

    public  DeleteAsyncOperationTask(final IStorageConnection connection);

}