code: public Map<String, T> asMap() {
          final Map<String, T> nameToInfoObject = new HashMap<>();
          for (final T i : this) {
              nameToInfoObject.put(i.getName(), i);
          }
          return nameToInfoObject;
      }
docs: Get an index for this list, as a map from the name of each list item (obtained by calling {@code getName()}
  on each list item) to the list item.
  
  @return An index for this list, as a map from the name of each list item (obtained by calling
  {@code getName()} on each list item) to the list item.