code: private ProtoNetworkDescriptor stage4(final ProtoNetwork eqNetwork) {
          beginStage(PHASE2_STAGE4_HDR, "4", NUM_PHASES);
          final StringBuilder bldr = new StringBuilder();
          bldr.append("Saving network");
          stageOutput(bldr.toString());
  
          long t1 = currentTimeMillis();
          ProtoNetworkDescriptor ret =
                  p2.stage4WriteEquivalentProtoNetwork(eqNetwork,
                          artifactPath.getAbsolutePath());
  
          if (withDebug()) {
              try {
                  TextProtoNetworkExternalizer textExternalizer =
                          new TextProtoNetworkExternalizer();
                  textExternalizer.writeProtoNetwork(eqNetwork,
                          artifactPath.getAbsolutePath());
              } catch (ProtoNetworkError e) {
                  error("Could not write out equivalenced proto network.");
              }
          }
  
          bldr.setLength(0);
          long t2 = currentTimeMillis();
          markTime(bldr, t1, t2);
          markEndStage(bldr);
          stageOutput(bldr.toString());
          return ret;
      }
docs: Stage four saving
  
  @param eqNetwork
  @return