private static void parameters(Tree.ParameterList pl, StyledString label) { if (pl == null || pl.getParameters().isEmpty()) { label.append("()"); } else { label.append("("); int len = pl.getParameters().size(), i = 0; for (Tree.Parameter p : pl.getParameters()) { if (p != null) { label .append(type(p.getType()), TYPE_STYLER) .append(" ") .append(name(p.getIdentifier()), ID_STYLER); if (p instanceof Tree.FunctionalParameterDeclaration) { Tree.FunctionalParameterDeclaration fp = (Tree.FunctionalParameterDeclaration) p; for (Tree.ParameterList ipl : fp.getParameterLists()) { parameters(ipl, label); } } } if (++i < len) label.append(", "); } label.append(")"); } }