public FutureData<DataSiftResult> start(final FutureData<ManagedSource> source) {
if (source == null) {
throw new IllegalArgumentException("A data source is required");
}
final FutureData<DataSiftResult> future = new FutureData<>();
final DataSiftResult res = new BaseDataSiftResult();
unwrapFuture(source, future, res, new FutureResponse<ManagedSource>() {
public void apply(ManagedSource data) {
URI uri = newParams().forURL(config.newAPIEndpointURI(START));
POST request = config.http().POST(uri, new PageReader(newRequestCallback(future, data, config)))
.form("id", data.getId());