code: func (g *Graph) getOrCreateVertex_locked(vertexType vertexType, namespace, name string) *namedVertex {
  	if vertex, exists := g.getVertex_rlocked(vertexType, namespace, name); exists {
  		return vertex
  	}
  	return g.createVertex_locked(vertexType, namespace, name)
  }
docs: // must be called under a write lock