code: function savePrettyGraphSON(graph, filename, callback) {
          var ByteArrayOutputStream = Tinkerpop.autoImport('ByteArrayOutputStream');
          var stream = new ByteArrayOutputStream();
          return Tinkerpop.GraphSONWriter.buildP()
              .then(function (builder) {
              return _newGraphSONMapper()
                  .then(function (mapper) { return builder.mapperP(mapper); });
          })
              .then(function (builder) { return builder.createP(); })
              .then(function (writer) { return writer.writeGraphP(stream, graph); })
              .then(function () { return stream.toStringP(); })
              .then(function (ugly) {
              var prettyString = _prettyGraphSONString(ugly);
              var writeFileP = BluePromise.promisify(fs.writeFile);
              return writeFileP(filename, prettyString);
          })
              .then(function () { return graph; })
              .nodeify(callback);
      }
docs: ### `savePrettyGraphSON(graph: Java.Graph, filename: string)` Saves the graph as human-readable, deterministic GraphSON, and returns promise to the graph (for fluent API).