return ensureBucketIsHealthy(hasBucket(settings.name())
.doOnNext(new Action1<Boolean>() {
@Override
public void call(Boolean exists) {
if (exists) {
throw new BucketAlreadyExistsException("Bucket " + settings.name() + " already exists!");
}
}
}).flatMap(new Func1<Boolean, Observable<InsertBucketResponse>>() {
@Override
public Observable<InsertBucketResponse> call(Boolean exists) {