code: function throwLoadError(item, methodName) {
    throw new TerriaError({
      sender: item,
      title: "Item is not available",
      message:
        "\
  An error occurred while invoking " +
        methodName +
        ' on the ABS ITT server.  \
  <p>This error may indicate that the item you opened is temporarily unavailable or there is a \
  problem with your internet connection.  Try opening the group again, and if the problem persists, please report it by \
  sending an email to <a href="mailto:' +
        item.terria.supportEmail +
        '">' +
        item.terria.supportEmail +
        "</a>.</p>"
    });
  }
docs: TODO: Sometimes these errors do not actually reach the end user, because they are thrown inside a promise.