File driveItem = new File();
final byte[] data = _prepareDriveItem(driveItem, item, handler, with_filedata);
if (data == null) {
driveItem = service.files().update(item.getRemoteIdentifier(), driveItem).execute();
} else {
final InputStreamContent params = new InputStreamContent(FILE, new ByteArrayInputStream(data));
params.setLength(data.length);
Update updater = service.files().update(item.getRemoteIdentifier(), driveItem, params);
MediaHttpUploader uploader = updater.getMediaHttpUploader();
prepareUploader(uploader, data);
driveItem = updater.execute();
}