docs: protected Asset getAsset(final String assetId, final boolean includeAttachments) throws FileNotFoundException, IOException, BadVersionException {
          Asset ass = readJson(assetId);
          ass.set_id(assetId);
  
          // We always get a wlp info when read back from Massive so create one if there isnt already one
          WlpInformation wlpInfo = ass.getWlpInformation();
          if (wlpInfo == null) {
              wlpInfo = new WlpInformation();
              ass.setWlpInformation(wlpInfo);
          }
          if (wlpInfo.getAppliesToFilterInfo() == null) {
              wlpInfo.setAppliesToFilterInfo(Collections.<AppliesToFilterInfo> emptyList());
          }
  
          if (includeAttachments) {
              if (exists(assetId)) {
  
                  Attachment at = new Attachment();
                  at.set_id(assetId);
                  at.setLinkType(AttachmentLinkType.DIRECT);
                  at.setType(AttachmentType.CONTENT);
                  at.setName(getName(assetId));
                  at.setSize(getSize(assetId));
                  at.setUrl(at.get_id());
                  ass.addAttachement(at);
                  if (assetId.toLowerCase().endsWith(".jar") || assetId.toLowerCase().endsWith(".esa")) {
                      // Create attachment objects for each license
                      if (hasLicenses(assetId)) {
                          Map<String, Long> licensesMap = getLicenses(assetId);
                          for (Map.Entry<String, Long> e : licensesMap.entrySet()) {
                              String lic = e.getKey();
                              String name = getName(lic);
                              String licId = assetId.concat(String.format("#licenses" + File.separator + "%s", name));
                              Attachment licAt = new Attachment();
                              licAt.set_id(licId);
                              licAt.setLinkType(AttachmentLinkType.DIRECT);
                              licAt.setName(name);
                              licAt.setSize(e.getValue());
                              String locString = name.substring(3);
                              if (name.startsWith("LI")) {
                                  licAt.setType(AttachmentType.LICENSE_INFORMATION);
                              } else if (name.startsWith("LA")) {
                                  licAt.setType(AttachmentType.LICENSE_AGREEMENT);
                              } else if (name.endsWith(".html")) {
                                  licAt.setType(AttachmentType.LICENSE);
                                  locString = name.substring(0, name.lastIndexOf("."));
                              }
                              // Make sure we've found one
                              if (licAt.getType() != null) {
                                  Locale locale = RepositoryCommonUtils.localeForString(locString);
                                  licAt.setLocale(locale);
                                  ass.addAttachement(licAt);
                                  licAt.setUrl(licAt.get_id());
                              }
                          }
                      }
                  }
              }
          }
  
          return ass;
      }