code: @Override
      public ExecutionGraphVertex createVertex(String address) {
          // create new vertex object
          ExecutionGraphVertex v = ExecutionGraph.createVertex(removeSymbol(address, '$'));
  
          // add vertex to actual graph
          this.graph.addVertex(v);
  
          // put new vertex to set of vertices with the same address, since they
          // all must have the same set of properties and values
          Set<ExecutionGraphVertex> vs = this.addressToVertices.getOrDefault(address, new HashSet<>());
          vs.add(v);
          if (vs.size() - 1 == 0) { this.addressToVertices.put(address, vs); }
  
          return v;
      }
docs: This method should be used when creating a new vertex from a cell, so
  vertex name is a cell's address. New Vertex will be created any time this
  method is invoked. New vertex will be stored in address-to-set-of-vertices map.