public boolean hasParent(@Nonnull String name) {
		// This first check serves multiple purposes.
		// - The name comparison on the wrapped class's parent/interfaces is faster
		//   than walking the graph to find the same names in wrapped vertices
		// - This will cover cases where the given parent is not in the workspace
		//   but is a direct parent of a class that is in the workspace
		ClassInfo cls = getValue();
		if (name.equals(cls.getSuperName()) || cls.getInterfaces().contains(name))
			return true;

		// Check all parents for a matching name, or the same check as above but for the parent.
		return allParents().anyMatch(parent -> {
			if (name.equals(parent.getName()))
				return true;

			ClassInfo parentCls = parent.getValue();
			return name.equals(parentCls.getSuperName()) || parentCls.getInterfaces().contains(name);
		});
	}
@param name
		Name of parent type.

@return {@code true} when this vertex has the given parent.
recaf-core/src/main/java/software/coley/recaf/services/inheritance/InheritanceVertex.java