code: public void setCacheMaxAges(Map<String, ? extends Number> cacheMaxAges) {
          final Builder<String, Long> cacheMaxAgesBuilder = ImmutableMap.builder();
          final Builder<Long, String> cachedControlStringsBuilder = ImmutableMap.builder();
          final Set<Long> maxAgeLog = new HashSet<Long>();
          
          for (final Map.Entry<String, ? extends Number> cacheMaxAgeEntry : cacheMaxAges.entrySet()) {
              final Number maxAgeNum = cacheMaxAgeEntry.getValue();
              final int maxAge = maxAgeNum.intValue();
              final long maxAgeMillis = TimeUnit.SECONDS.toMillis(maxAge);
              cacheMaxAgesBuilder.put(cacheMaxAgeEntry.getKey(), maxAgeMillis);
              
              if (maxAgeLog.add(maxAgeMillis)) {
                  cachedControlStringsBuilder.put(maxAgeMillis, "public, max-age=" + maxAge);
              }
          }
          
          this.cacheMaxAges = cacheMaxAgesBuilder.build();
          this.cachedControlStrings = cachedControlStringsBuilder.build();
      }
docs: Specify map of ant paths to max-age times (in seconds). The default map is:
  
  /**&#47;*.aggr.min.js - 365 days
  /**&#47;*.aggr.min.css - 365 days
  /**&#47;*.min.js - 365 days
  /**&#47;*.min.css - 365 days
  /rs/**&#47;* - 365 days