code: public void export(ExportConfig config, Reporter reporter, ExportFileManager cypherFileManager) throws IOException {
  
          int batchSize = config.getBatchSize();
          ExportConfig.OptimizationType useOptimizations = config.getOptimizationType();
  
          switch (useOptimizations) {
              case NONE:
                  exportNodes(cypherFileManager.getPrintWriter("nodes"), reporter, batchSize);
                  exportSchema(cypherFileManager.getPrintWriter("schema"));
                  exportRelationships(cypherFileManager.getPrintWriter("relationships"), reporter, batchSize);
                  break;
              default:
                  artificialUniques += countArtificialUniques(graph.getNodes());
                  exportSchema(cypherFileManager.getPrintWriter("schema"));
                  PrintWriter nodeWrite = cypherFileManager.getPrintWriter("nodes");
                  exportNodesUnwindBatch(nodeWrite, reporter);
                  PrintWriter relWrite = cypherFileManager.getPrintWriter("relationships");
                  exportRelationshipsUnwindBatch(relWrite, reporter);
          }
          exportCleanUp(cypherFileManager.getPrintWriter("cleanup"), batchSize);
          reporter.done();
      }
docs: Given a full path file name like <code>/tmp/myexport.cypher</code>,
  when <code>ExportConfig#separateFiles() == true</code>,
  this method will create the following files:
  <ul>
  <li>/tmp/myexport.nodes.cypher</li>
  <li>/tmp/myexport.schema.cypher</li>
  <li>/tmp/myexport.relationships.cypher</li>
  <li>/tmp/myexport.cleanup.cypher</li>
  </ul>
  Otherwise all kernelTransaction will be saved in the original file.
  @param config
  @param reporter
  @param cypherFileManager