docs: @Override
      public EdgeIteratorState edge(int nodeA, int nodeB) {
          if (isFrozen())
              throw new IllegalStateException("Cannot create edge if graph is already frozen");
  
          ensureNodeIndex(Math.max(nodeA, nodeB));
          int edgeId = edgeAccess.internalEdgeAdd(nextEdgeId(), nodeA, nodeB);
          EdgeIterable iter = new EdgeIterable(this, edgeAccess, EdgeFilter.ALL_EDGES);
          boolean ret = iter.init(edgeId, nodeB);
          assert ret;
          if (extStorage.isRequireEdgeField())
              iter.setAdditionalField(extStorage.getDefaultEdgeFieldValue());
  
          return iter;
      }