lisa/src/main/java/it/unive/lisa/analysis/nonrelational/value/impl/stringgraphdomain/SGNUtils.java
private static void removeProperDescendants(StringGraphNode<?> node) {
        List<StringGraphNode<?>> toBeRemoved = new ArrayList<>(node.getForwardChildren());
        for (StringGraphNode<?> child : toBeRemoved) {
            // remove child's children only if child does not have other parents
            if (child.getInDegree() == 1)
                removeProperDescendants(child);
            node.removeChild(child);
        }
    }
/**
     * Removes proper descendants of a node, IE those children that do not have any parent but the given node or one of
     * its proper descendants.
     *
     * @param node The node from which to remove the proper descendants
     */
Removes proper descendants of a node, IE those children that do not have any parent but the given node or one of
its proper descendants.

@param node The node from which to remove the proper descendants
Removes proper descendants of a node IE those children that do not have any parent but the given node or one of its proper descendants . @param node The node from which to remove the proper descendants
private static void removeProperDescendants(StringGraphNode<?> node) {
        List<StringGraphNode<?>> toBeRemoved = new ArrayList<>(node.getForwardChildren());
        for (StringGraphNode<?> child : toBeRemoved) {
            if (child.getInDegree() == 1)
                removeProperDescendants(child);
            node.removeChild(child);
        }
    }
private static void removeProperDescendants ( StringGraphNode < ? > node ) { List < StringGraphNode < ? > > toBeRemoved = new ArrayList < > ( node . getForwardChildren ( ) ) ; for ( StringGraphNode < ? > child : toBeRemoved ) { if ( child . getInDegree ( ) == 1 ) removeProperDescendants ( child ) ; node . removeChild ( child ) ; } }
Removes proper descendants of a node, IE those children that do not have any parent but the given node or one of
 its proper descendants.
Removes proper descendants of a node IE those children that do not have any parent but the given node or one of its proper descendants .
// remove child's children only if child does not have other parents