code: private List<AtlasVertex> createVertices(List<TypeVertexInfo> infoList) throws AtlasException {
  
          List<AtlasVertex> result = new ArrayList<>(infoList.size());
          List<String> typeNames = Lists.transform(infoList, new Function<TypeVertexInfo,String>() {
              @Override
              public String apply(TypeVertexInfo input) {
                  return input.getTypeName();
              }
          });
          Map<String, AtlasVertex> vertices = findVertices(typeNames);
  
          for(TypeVertexInfo info : infoList) {
              AtlasVertex vertex = vertices.get(info.getTypeName());
              if (! GraphHelper.elementExists(vertex)) {
                  LOG.debug("Adding vertex {}{}", PROPERTY_PREFIX, info.getTypeName());
                  vertex = graph.addVertex();
                  setProperty(vertex, Constants.VERTEX_TYPE_PROPERTY_KEY, VERTEX_TYPE); // Mark as type AtlasVertex
                  setProperty(vertex, Constants.TYPE_CATEGORY_PROPERTY_KEY, info.getCategory());
                  setProperty(vertex, Constants.TYPENAME_PROPERTY_KEY, info.getTypeName());
              }
              String newDescription = info.getTypeDescription();
              if (newDescription != null) {
                  String oldDescription = getPropertyKey(Constants.TYPEDESCRIPTION_PROPERTY_KEY);
                  if (!newDescription.equals(oldDescription)) {
                      setProperty(vertex, Constants.TYPEDESCRIPTION_PROPERTY_KEY, newDescription);
                  }
              } else {
                  LOG.debug(" type description is null ");
              }
              result.add(vertex);
          }
          return result;
      }
docs: Finds or creates type vertices with the information specified.
  
  @param infoList
  @return list with the vertices corresponding to the types in the list.
  @throws AtlasException