@Override protected void executeTask(Task<V> task) { cancelable.unbind(); if (task instanceof DataFxTask) { cancelable.bind(((DataFxTask<V>) task).cancelableProperty()); } Executor e = getExecutor(); if (e != null) { e.execute(task); } else { ObservableExecutor.getDefaultInstance().execute(task); } }