private static void appendTypeArguments(
     final @NotNull StringBuilder builder, final @NotNull DartType type) {
   final DartTypeArguments typeArguments = type.getTypeArguments();
   if (typeArguments != null) {
     final DartTypeList typeList = typeArguments.getTypeList();
     final List<DartType> children = typeList.getTypeList();
     if (!children.isEmpty()) {
       builder.append("&lt;");
       for (Iterator<DartType> iter = children.iterator(); iter.hasNext(); ) {
         DartType child = iter.next();
         builder.append(child.getFirstChild().getText());
         appendTypeArguments(builder, child);
         if (iter.hasNext()) {
           builder.append(", ");
         }
       }
       builder.append("&gt;");
     }
   }
 }