final DataSiftClient datasift = new DataSiftClient(config);
String csdl = "interaction.content contains \"some string\"";
//both sync and async processing are supported by calling "sync" on any FutureDate object
//all response objects extend DataSiftResult which present these utility methods
DataSiftResult result = datasift.compile(csdl).sync();
//is successful returns true if a response hasn't explicitly been marked as failed,
//there is a valid response, no exceptions are set and the response status is between 200 - 399
if (!result.isSuccessful()) {
//if true an exception may have caused the request to fail, inspect the cause if available
if (result.failureCause() != null) { //may not be an exception