anchor.diff:          String cask = createDarteditorCask(cask_class_name, url, release_revision, md5, isRawCsAvailable, installSection);
           File outputFile = new File(outputDirectory.path + '/' + cask_file_name);
           return outputFile.create(recursive: true)
  -            .then((file) => outputFile.writeAsString(cask));
  +            .then((file) {
  +                            outputFile.writeAsString(cask);
  +                            return null;
  +                          });
         });
   }
   
  
positive.code:         return getAsString(Uri.parse(md5_file_url), client);
        })
        .then((String body) {
          md5 = md5_regex.firstMatch(body).group(1);
  
          return getAsString(Uri.parse(cs_md5_file_url), client);
        })
        .then((String body) {
          cs_md5 = md5_regex.firstMatch(body).group(1);
          int revision = int.parse(release_revision);
          isRawCsAvailable = cs_md5 != "xml";
  
negative.code:           if (body == null || body == "" || body.startsWith("<?xml version='1.0' encoding='UTF-8'?><Error>", 0))
            {
              // No version with this revision
              // Really gross way of doing recursion with futures.
              revision--;
              return writeCaskWithCsRevision(revision, outputDirectory, cask_class_name, cask_file_name, client, rootUrl, zipPath, installSection);
            }
  