/*
     * @see FilteredList.FilterMatcher#match(Object)
     */
    public boolean match(Object element) {
      if (!(element instanceof ITypeInfo)) return false;

      ITypeInfo info = (ITypeInfo) element;
      IQualifiedTypeName qualifiedName = info.getQualifiedTypeName();

      if (fVisibleTypes != null && !fVisibleTypes.contains(new Integer(info.getCElementType())))
        return false;

      if (!fShowLowLevelTypes && qualifiedName.isLowLevel()) return false;

      if (fSegmentMatchers.length == 1 && !fMatchGlobalNamespace)
        return fNameMatcher.match(qualifiedName.getName());

      return matchQualifiedName(info);
    }