code: 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());
                  performRequest(future, request);
              }
          });
          return future;
      }
docs: /*
  @param source start a configured managed source
  @return this