org_eclipse_lemminx_services_XMLSymbolInformationsTest_java
org.eclipse.lemminx.services.XMLSymbolsProvider
private SymbolsProviderParticipantResult getSymbolsProviderParticipant(DOMDocument xmlDocument) {
        Collection<ISymbolsProviderParticipant> all = this.extensionsRegistry.getSymbolsProviderParticipants();
        ArrayList<ISymbolsProviderParticipant> insertParticipant = null;
        ArrayList<ISymbolsProviderParticipant> replaceParticipant = null;
        for (ISymbolsProviderParticipant participant : all) {
            ISymbolsProviderParticipant.SymbolStrategy strategy = participant.applyFor(xmlDocument);
            switch (strategy) {
                case INSERT: {
                    if (insertParticipant == null) {
                        insertParticipant = new ArrayList<ISymbolsProviderParticipant>();
                    }
                    insertParticipant.add(participant);
                    break;
                }
                case REPLACE: {
                    if (replaceParticipant == null) {
                        replaceParticipant = new ArrayList<ISymbolsProviderParticipant>();
                    }
                    replaceParticipant.add(participant);
                }
            }
        }
        return new SymbolsProviderParticipantResult(replaceParticipant, insertParticipant);
    }
 -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Collections.emptyList(): java.util.List
 [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Collection.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Collections.emptyList(): java.util.List [EXIT] [EXIT]