@classmethod
def parse(cls, fp, data_objects=None, close=True):
    """
            Parses the file 'fp' using one of the parsers in this group.
            'fp' should preferably be a filename (str), but can be a file-like
            object. Take care to open the file in the correct mode when passing
            a file-like object.  
        """
    filename, fp, close = cls._get_file(fp, close=close)
    parser = cls.get_parser(filename, fp=fp)
    return parser.parse(fp, data_objects=data_objects, close=close)
