private static void setRenderer(Parser p, Renderer renderer) {
        if (p instanceof RenderingParser) {
            ((RenderingParser) p).setRenderer(renderer);
        } else if (p instanceof CompositeParser) {
            for (Parser child : ((CompositeParser) p).getAllComponentParsers()) {
                setRenderer(child, renderer);
            }
        } else if (p instanceof ParserDecorator) {
            setRenderer(((ParserDecorator) p).getWrappedParser(), renderer);
        }
    }
Finds all statically loadable parsers and sort the list by name,
rather than discovery order. CompositeParser takes the last
parser for any given media type, so put the Tika parsers first
so that non-Tika (user supplied) parsers can take precedence.

@param loader service loader
@return ordered list of statically loadable parsers
tika-core/src/main/java/org/apache/tika/parser/DefaultParser.java