Returns an extended filter with weak type restriction.<p>

@return an extended filter with weak type restriction
18756
public CmsRelationFilter filterWeak() {

        CmsRelationFilter filter = (CmsRelationFilter)clone();
        if (filter.m_types.isEmpty()) {
            filter.m_types.addAll(CmsRelationType.getAllWeak());
        } else {
            filter.m_types = new HashSet<CmsRelationType>(CmsRelationType.filterWeak(filter.m_types));
        }
        return filter;
    }
57658
@Nonnull
    public static <T> List<T> filter( @Nonnull List<?> base, @Nonnull Class<T> type ) {
        return filter((Iterable)base,type);
    }
225753
public CmsResourceFilter addRequireVisible() {

        CmsResourceFilter extendedFilter = (CmsResourceFilter)clone();

        extendedFilter.m_filterVisible = true;
        extendedFilter.updateCacheId();

        return extendedFilter;
    }
442870
public CmsRelationFilter filterNotDefinedInContent() {

        CmsRelationFilter filter = (CmsRelationFilter)clone();
        if (filter.m_types.isEmpty()) {
            filter.m_types.addAll(CmsRelationType.getAllNotDefinedInContent());
        } else {
            filter.m_types = new HashSet<CmsRelationType>(CmsRelationType.filterNotDefinedInContent(filter.m_types));
        }
        return filter;
    }
729127
@Override
    public T filter(Filter<ArchivePath> filter) {
        return this.shallowCopy(filter).as(getActualClass());
    }
1090696
public CmsLogFilter filterFrom(long from) {

        CmsLogFilter filter = (CmsLogFilter)clone();
        filter.m_dateFrom = from;
        return filter;
    }
100290
public CmsResourceFilter addExcludeTimerange() {

        CmsResourceFilter extendedFilter = (CmsResourceFilter)clone();

        extendedFilter.m_filterTimerange = false;
        extendedFilter.updateCacheId();

        return extendedFilter;
    }
927135
public <T extends CacheSpec<K, V>> T weakValues() {
      this.weakValues = true;
      return Cast.as(this);
   }
421029
public List<ZuulFilter> getFiltersByType(FilterType filterType) {

        List<ZuulFilter> list = hashFiltersByType.get(filterType);
        if (list != null) return list;

        list = new ArrayList<ZuulFilter>();

        Collection<ZuulFilter> filters = filterRegistry.getAllFilters();
        for (Iterator<ZuulFilter> iterator = filters.iterator(); iterator.hasNext(); ) {
            ZuulFilter filter = iterator.next();
            if (filter.filterType().equals(filterType)) {
                list.add(filter);
            }
        }

        // Sort by filterOrder.
        Collections.sort(list, new Comparator<ZuulFilter>() {
            @Override
            public int compare(ZuulFilter o1, ZuulFilter o2) {
                return o1.filterOrder() - o2.filterOrder();
            }
        });

        hashFiltersByType.putIfAbsent(filterType, list);
        return list;
    }
384031
public Filter<S> getCoveringRemainderFilter() {
        if (mCoveringRemainderFilter == null) {
            List<? extends Filter<S>> remainderFilters = mRemainderFilters;
            List<? extends Filter<S>> coveringFilters = mCoveringFilters;
            if (coveringFilters.size() < remainderFilters.size()) {
                Filter<S> composite = null;
                for (int i=0; i<remainderFilters.size(); i++) {
                    Filter<S> subFilter = remainderFilters.get(i);
                    if (!coveringFilters.contains(subFilter)) {
                        if (composite == null) {
                            composite = subFilter;
                        } else {
                            composite = composite.and(subFilter);
                        }
                    }
                }
                mCoveringRemainderFilter = composite;
            }
        }
        return mCoveringRemainderFilter;
    }
399109
public List<Row> search(ExtendedFilter filter)
    {
        SecondaryIndexSearcher mostSelective = getHighestSelectivityIndexSearcher(filter.getClause());
        if (mostSelective == null)
            return Collections.emptyList();
        else
            return mostSelective.search(filter);
    }
896848
@Override
	public M filter(BiPredicate<? super K, ? super V> filter) {
		MapBuilder<K, V, M> builder = builder();
		for (java.util.Map.Entry<K, V> entry : entrySet()) {
			if(filter.test(entry.getKey(), entry.getValue())) {
				builder.put(entry.getKey(), entry.getValue());
			}
		}
		return builder.build();
	}
911009
public CmsRelationFilter filterDefinedInContent() {

        CmsRelationFilter filter = (CmsRelationFilter)clone();
        if (filter.m_types.isEmpty()) {
            filter.m_types.addAll(CmsRelationType.getAllDefinedInContent());
        } else {
            filter.m_types = new HashSet<CmsRelationType>(CmsRelationType.filterDefinedInContent(filter.m_types));
        }
        return filter;
    }
451097
public FileFilter build() {
        if (filenames.isEmpty() && extensions.isEmpty() && fileFilters.isEmpty()) {
            throw new IllegalStateException("May only be invoked after at least one add... method has been invoked.");
        }
        final OrFileFilter filter = new OrFileFilter();
        if (!filenames.isEmpty()) {
            filter.addFileFilter(new NameFileFilter(new ArrayList<>(filenames)));
        }
        if (!extensions.isEmpty()) {
            filter.addFileFilter(new SuffixFileFilter(new ArrayList<>(extensions), IOCase.INSENSITIVE));
        }
        for (IOFileFilter iof : fileFilters) {
            filter.addFileFilter(iof);
        }
        return filter;
    }
591145
private FilterList getExtPropertyFilters(EntityMetadata m, FilterList filterList)
    {
        Filter filter = getFilter(m.getTableName());
        if (filter != null)
        {
            if (filterList == null)
            {
                filterList = new FilterList();
            }
            filterList.addFilter(filter);
        }
        return filterList;
    }
1219161
public com.sun.javadoc.Type[] extendsBounds() {
        return TypeMaker.getTypes(env, getExtendsBounds((Type.WildcardType)type));
    }
477321
public CmsLockFilter filterIncludeChildren() {

        CmsLockFilter filter = (CmsLockFilter)clone();
        filter.m_includeChildren = true;
        return filter;
    }