code: public static String asString_ApiPlanBeans(Set<ApiPlanBean> plans) {
          TreeSet<ApiPlanBean> sortedPlans = new TreeSet<>(new Comparator<ApiPlanBean>() {
              @Override
              public int compare(ApiPlanBean o1, ApiPlanBean o2) {
                  String p1 = o1.getPlanId() + ":" + o1.getVersion(); //$NON-NLS-1$
                  String p2 = o2.getPlanId() + ":" + o2.getVersion(); //$NON-NLS-1$
                  return p1.compareTo(p2);
              }
          });
          sortedPlans.addAll(plans);
  
          StringBuilder builder = new StringBuilder();
          boolean first = true;
          if (plans != null) {
              for (ApiPlanBean plan : sortedPlans) {
                  if (!first) {
                      builder.append(", "); //$NON-NLS-1$
                  }
                  builder.append(plan.getPlanId()).append(":").append(plan.getVersion()); //$NON-NLS-1$
                  first = false;
              }
          }
          return builder.toString();
      }
docs: Converts the list of plans to a string for display/comparison.
  @param plans the plans
  @return the plans as a string