in tooling/rib-intellij-plugin/native/intellij-broadcast-rib/src/main/java/com/uber/debug/broadcast/rib/RibHierarchyDebugBroadcastHandler.java [304:326]
private synchronized void removeChild(UUID parentId, UUID childId) {
if (!children.containsKey(parentId)) {
throw new IllegalArgumentException();
}
List list = children.get(parentId);
if (!list.contains(childId)) {
throw new IllegalArgumentException("child not already added");
}
if (!parent.containsKey(childId)) {
throw new IllegalArgumentException("parent not set");
}
list.remove(childId);
if (list.isEmpty()) {
children.remove(parentId);
roots.remove(parentId);
}
parent.remove(childId);
if (highlightId.equals(childId)) {
setOverlayVisibility(highlightId, false);
}
}