public static String getStringPatch(
      @NotNull Map<GroupDescriptor, Set<PatchedUsage>> patchedUsages, int maxSize) {
    if (patchedUsages.size() == 0) return "";

    String patchStr = ConvertUsagesUtil.convertUsages(patchedUsages);
    if (maxSize > 0 && patchStr.getBytes().length > maxSize) {
      patchStr = ConvertUsagesUtil.cutPatchString(patchStr, maxSize);
    }

    return patchStr;
  }
  public static <T extends UsageDescriptor> String getDataString(
      @NotNull Map<GroupDescriptor, Set<T>> usages, int maxSize) {
    if (usages.isEmpty()) {
      return "";
    }

    String dataStr = ConvertUsagesUtil.convertUsages(usages);
    return maxSize > 0 && dataStr.getBytes(CharsetToolkit.UTF8_CHARSET).length > maxSize
        ? ConvertUsagesUtil.cutDataString(dataStr, maxSize)
        : dataStr;
  }