@Override
public GcsOutputChannel createOrReplace(
final GcsFilename filename, final GcsFileOptions fileOptions) throws IOException {
try {
RawGcsCreationToken token = RetryHelper.runWithRetries(new Callable<RawGcsCreationToken>() {
@Override
public RawGcsCreationToken call() throws IOException {
long timeout = options.getRetryParams().getRequestTimeoutMillisForCurrentAttempt();
return raw.beginObjectCreation(filename, fileOptions, timeout);
}