<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def __extract_autoWidgets(self):
 """Extract autoWidgets map if needed, out of the glade specifications and gtk builder"""

        if self.__autoWidgets_calculated: return

        if self._builder is not None:
            for wid in self._builder.get_objects():
                # General workaround for issue
                # https://bugzilla.gnome.org/show_bug.cgi?id=607492
                try:
                    name = Gtk.Buildable.get_name(wid)
                except TypeError:
                    continue

                if name in self.autoWidgets and self.autoWidgets[name] != wid:
                    raise ViewError("Widget '%s' in builder also found in "
                        "glade specification" % name)

                self.autoWidgets[name] = wid

        self.__autowidgets_calculated = True