code: @Override
      public ProtoNetwork stage1Merger(
              Collection<ProtoNetworkDescriptor> protoNetworkDescriptors) {
          ProtoNetwork mergedNetwork = null;
          try {
              Iterator<ProtoNetworkDescriptor> it =
                      protoNetworkDescriptors.iterator();
  
              // Grab first proto network and iteratively merge the rest.
              ProtoNetworkDescriptor pnd = it.next();
              mergedNetwork = protoNetworkService.read(pnd);
              while (it.hasNext()) {
                  ProtoNetwork nextPn = protoNetworkService.read(it.next());
                  protoNetworkService.merge(mergedNetwork, nextPn);
              }
          } catch (ProtoNetworkError e) {
              e.printStackTrace();
              Throwable cause = e.getCause();
              if (cause != null) e.printStackTrace();
              error("Unable to merge proto networks into global network.");
          }
  
          return mergedNetwork;
      }
docs: {@inheritDoc}