public void add(GridLocationMap<V, E> other, int rowShift, int colShift) {

		for (Entry<V, GridPoint> entry : other.vertexPoints.entrySet()) {
			V v = entry.getKey();
			GridPoint point = entry.getValue();
			set(v, new GridPoint(point.row + rowShift, point.col + colShift));
		}

		for (Entry<E, List<GridPoint>> entry : other.edgePoints.entrySet()) {
			E e = entry.getKey();
			List<GridPoint> points = entry.getValue();
			List<GridPoint> shiftedPoints = new ArrayList<>(points.size());
			for (GridPoint point : points) {
				shiftedPoints.add(new GridPoint(point.row + rowShift, point.col + colShift));
			}
			setArticulations(e, shiftedPoints);
		}
	}
Adds in the vertices and edges from another GridLocationMap with each point in the other
grid map shifted by the given row and column amounts.
@param other the other GridLocationMap to add to this one.
@param rowShift the amount to shift the rows in the grid points from the other grid before
adding them to this grid
@param colShift the amount to shift the columns in the grid points from the other grid before
adding them to this grid
Ghidra/Framework/Graph/src/main/java/ghidra/graph/viewer/layout/GridLocationMap.java