void processRef(@NotNull Ref ref, @NotNull List<Binding> bindings) {
        StyleRun link = new StyleRun(StyleRun.Type.LINK, ref.start(), ref.length());
        link.id = Integer.toString(Math.abs(ref.hashCode()));

        List<String> typings = new ArrayList<String>();
        for (Binding b : bindings) {
            typings.add(b.getQname() + " :: " + b.getType());
        }
        link.message = Util.joinWithSep(typings, " | ", "{", "}");

        link.highlight = new ArrayList<String>();
        for (Binding b : bindings) {
            for (Def d : b.getDefs()) {
                link.highlight.add(Integer.toString(Math.abs(d.hashCode())));
            }
        }

        
        // Currently jump to the first binding only. Should change to have a
        // hover menu or something later.
        String path = ref.getFile();
        for (Binding b : bindings) {
            if (link.url == null) {
                link.url = toURL(b, path);
            }

            if (link.url != null) {
                addFileStyle(path, link);
                break;
            }
        }
    }