@Nonnull
	public Set<InheritanceVertex> getParents() {
		Set<InheritanceVertex> parents = this.parents;
		if (parents == null) {
			synchronized (this) {
				if (isModule()) {
					parents = Collections.emptySet();
					this.parents = parents;
					return parents;
				}
				parents = this.parents;
				if (parents == null) {
					String name = getName();
					parents = new LinkedHashSet<>();
					String superName = value.getSuperName();
					if (superName != null && !name.equals(superName)) {
						InheritanceVertex parentVertex = lookup.apply(superName);
						if (parentVertex != null)
							parents.add(parentVertex);
					}
					for (String itf : value.getInterfaces()) {
						InheritanceVertex itfVertex = lookup.apply(itf);
						if (itfVertex != null && !name.equals(itf))
							parents.add(itfVertex);
					}
					this.parents = parents;
				}
			}
		}
		return parents;
	}
@return Classes this directly extends or implements.
recaf-core/src/main/java/software/coley/recaf/services/inheritance/InheritanceVertex.java