public static void figureOutMapIn0(PrintStream w, Object... comps) {
        Map<String, List<String>> maps = new HashMap<String, List<String>>();

        for (Object c : comps) {
            ComponentAccess cp = new ComponentAccess(c);
            for (Access fin : cp.inputs()) {
                Role role = fin.getField().getAnnotation(Role.class);
                if (role != null && Annotations.plays(role, Role.PARAMETER)) {
                    List<String> l = maps.get(fin.getField().getName());
                    if (l == null) {
                        maps.put(fin.getField().getName(), l = new ArrayList<String>());
                    }
                    l.add(objName(cp));
                }
            }
        }

        List<String> sl = new ArrayList<String>(maps.keySet());
        Collections.sort(sl, new Comparator<String>() {

            @Override
            public int compare(String o1, String o2) {
                return o1.compareTo(o2);
            }
        });

        for (String string : sl) {
            w.print("     in2in(\"" + string + "\"");
            List<String> l = maps.get(string);
            for (String string1 : l) {
                w.print(", " + string1);
            }
            w.println(");");
        }
    }