<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def remove_extension(self, ext=None):
 """ Remove extension from IOSystem For single Extensions the same can be achieved with del IOSystem_name.Extension_name Parameters ext : string or list, optional The extension to remove, this can be given as the name of the instance or of Extension.name (the latter will be checked if no instance was found) If ext is None (default) all Extensions will be removed """

        if ext is None:
            ext = list(self.get_extensions())
        if type(ext) is str:
            ext = [ext]

        for ee in ext:
            try:
                del self.__dict__[ee]
            except KeyError:
                for exinstancename, exdata in zip(
                        self.get_extensions(data=False),
                        self.get_extensions(data=True)):
                    if exdata.name == ee:
                        del self.__dict__[exinstancename]
            finally:
                self.meta._add_modify("Removed extension {}".format(ee))

        return self