code: public static ServerCacheControl parse(Iterable<String> directives) {
          requireNonNull(directives, "directives");
          final ServerCacheControlBuilder builder = new ServerCacheControlBuilder();
          for (String d : directives) {
              parseCacheControl(d, (name, value) -> {
                  final BiConsumer<ServerCacheControlBuilder, String> action = DIRECTIVES.get(name);
                  if (action != null) {
                      action.accept(builder, value);
                  }
              });
          }
  
          return builder.build();
      }
docs: Parses the specified {@code "cache-control"} header values into a {@link ServerCacheControl}.
  Note that any unknown directives will be ignored.
  
  @return the {@link ServerCacheControl} decoded from the specified header values.