Inserts files by recursive traversing the rootpath and inserting files according the addition filter parameters.

        :param str rootpath:            The absolute path to the root directory.
        :param list directoryInFilter:  A list of fnmatch expressions to match directories to be included.  A `None` value will default to :attr:`DirectoryInFilter`.
        :param list directoryExFilter:  A list of fnmatch expressions to match directories to be excluded.  A `None` value will default to :attr:`DirectoryExFilter`.
        :param list compileInFilter:    A list of fnmatch expressions to match compile files to be included.  A `None` value will default to :attr:`CompileInFilter`.
        :param list compileExFilter:    A list of fnmatch expressions to match compile files to be excludes.  A `None` value will default to :attr:`CompileExFilter`.
        :param list contentInFilter:    A list of fnmatch expressions to match content files to be includes.  A `None` value will default to :attr:`ContentInFilter`.
        :param list contentExFilter:    A list of fnmatch expressions to match content files to be excludes.  A `None` value will default to :attr:`ContentExFilter`.

def insert_files(self, rootpath, directoryInFilter=None, directoryExFilter=None, compileInFilter=None, compileExFilter=None, contentInFilter=None, contentExFilter=None):
        """
        Inserts files by recursive traversing the rootpath and inserting files according the addition filter parameters.

        :param str rootpath:            The absolute path to the root directory.
        :param list directoryInFilter:  A list of fnmatch expressions to match directories to be included.  A `None` value will default to :attr:`DirectoryInFilter`.
        :param list directoryExFilter:  A list of fnmatch expressions to match directories to be excluded.  A `None` value will default to :attr:`DirectoryExFilter`.
        :param list compileInFilter:    A list of fnmatch expressions to match compile files to be included.  A `None` value will default to :attr:`CompileInFilter`.
        :param list compileExFilter:    A list of fnmatch expressions to match compile files to be excludes.  A `None` value will default to :attr:`CompileExFilter`.
        :param list contentInFilter:    A list of fnmatch expressions to match content files to be includes.  A `None` value will default to :attr:`ContentInFilter`.
        :param list contentExFilter:    A list of fnmatch expressions to match content files to be excludes.  A `None` value will default to :attr:`ContentExFilter`.
        """
        # Overrides
        directoryInFilter = self.DirectoryInFilter if directoryInFilter is None else directoryInFilter
        directoryExFilter = self.DirectoryExFilter if directoryExFilter is None else directoryExFilter
        compileInFilter = self.CompileInFilter if compileInFilter is None else compileInFilter
        compileExFilter = self.CompileExFilter if compileExFilter is None else compileExFilter
        contentInFilter = self.ContentInFilter if contentInFilter is None else contentInFilter
        contentExFilter = self.ContentExFilter if contentExFilter is None else contentExFilter

        def filter(text, filters, explicit):
            """
            Convience filter function

            :param text text: The target text.
            :param list filters: The collection of fnmatch expressions
            :param bool explicit: Flag denoting an the empty filter collection return match failure.
            """
            if explicit:
                return any(fnmatch.fnmatch(text, f) for f in filters)
            return not filters or any(fnmatch.fnmatch(text, f) for f in filters)

        for root, dirnames, filenames in os.walk(rootpath):

            searchdir = os.path.normpath(os.path.normcase(root))

            # If the root dir matches an excluded directory, stop any further searches
            if filter(searchdir, directoryExFilter, True):
                dirnames[:] = []
            elif filter(searchdir, directoryInFilter, False):
                for filepath in [os.path.join(root, filename) for filename in filenames]:
                    if filter(filepath, compileInFilter, False) and not filter(filepath, compileExFilter, True):
                        self.CompileFiles.append(filepath)
                    elif filter(filepath, contentInFilter, False) and not filter(filepath, contentExFilter, True):
                        self.ContentFiles.append(filepath)