    import os, sys

    try:
        import MiscUtils
    except:
        # When the Webware tarball unravels,
        # the components sit next to each other
        sys.path.append(os.path.abspath(os.pardir))
        import MiscUtils
    from MiscUtils.NamedValueAccess import NamedValueAccess

    try: # backward compatibility for Python < 2.2
        object
    except NameError:
        class object:
            pass

    class Object(object, NamedValueAccess):
        """Object is the root class for all classes in the WebKit.

        This is a placeholder for any future functionality that might be
        appropriate for all objects in the framework.

        """

        def __init__(self):
            """Initializes the object. Subclasses should invoke super."""
            pass

        def deprecated(self, method):
            """Output a deprecation warning.

            The implementation of WebKit sometimes invokes this method which prints
            a warning that the method you are using has been deprecated.
            This method expects that deprecated methods say so at the beginning of
            their doc string and terminate that msg with @. For example:

                DEPRECATED: Class.foo() on 01/24/01 in ver 0.5. Use Class.bar() instead. @

            Putting this information in the doc string is important for accuracy
            in the generated docs.

            Example call:
                self.deprecated(self.foo)

            """
            docString = method.__doc__
            if docString:
                msg = docString.split('@')[0]
                msg = '\n'.join(map(lambda s: s.strip(), msg.splitlines()))
            else:
                msg = 'DEPRECATED: %s (no doc string)' % method
            print msg
            try:
                from traceback import format_stack
                print format_stack(limit =3)[0]
            except:
                print 'Could not determine calling function.'

        # 2000-05-21 ce: Sometimes used for debugging:
        #
        #def __del__(self):
        #   print '>> del', self