code: public static <T> String populatedString(Map<String, T> map, String key) {
          return populatedStringOfType(map, key, "string");
      }
docs: Validates that the value from {@code map} for the given {@code key} is a
  populated string. Returns the value when valid; otherwise, throws an
  {@code IllegalArgumentException}.
  @param map A map
  @param key A key
  @param <T> The type of value
  @return The string value
  @throws java.util.NoSuchElementException if the required value is not
  present
  @throws java.lang.IllegalArgumentException if the value is in valid