} else if (this.configuration.getOperation() == DropboxOperation.search) {
return new DropboxSearchProducer(this, configuration);
} else if (this.configuration.getOperation() == DropboxOperation.del) {
return new DropboxDelProducer(this, configuration);
} else if (this.configuration.getOperation() == DropboxOperation.get) {
return new DropboxGetProducer(this, configuration);
} else if (this.configuration.getOperation() == DropboxOperation.move) {
return new DropboxMoveProducer(this, configuration);
} else {
throw new DropboxException("operation specified is not valid for producer!");
}