code: public static String getFilterName(final WebFilter filter, final Class<? extends Filter> type) {
          final String name = Strings.emptyToNull(filter.filterName());
          return name != null ? name : generateName(type, "filter");
      }
docs: When filter name not set in annotation, name generates as: . (dot) at the beginning to indicate
  generated name, followed by lower-cased class name. If class ends with "filter" then it will be cut off.
  For example, for class "MyCoolFilter" generated name will be ".mycool".
  
  @param filter filter annotation
  @param type   filter type
  @return filter name or generated name if name not provided