Add names to all of the Endpoint's Arguments.

        This method will get called on class declaration because of
        Endpoint's metaclass.  The functionality is based on Google's NDB
        implementation.

def _fix_up_fields(cls):
        """Add names to all of the Endpoint's Arguments.

        This method will get called on class declaration because of
        Endpoint's metaclass.  The functionality is based on Google's NDB
        implementation."""
        cls._arguments = dict()
        if cls.__module__ == __name__: # skip the classes in this file
            return
        for name in set(dir(cls)):
            attr = getattr(cls, name, None)
            if isinstance(attr, BaseArgument):
                if name.startswith('_'):
                    raise TypeError("Endpoint argument %s cannot begin with "
                            "an underscore, as these attributes are reserved "
                            "for instance variables of the endpoint object, "
                            "rather than for arguments to your HTTP Endpoint."
                            % name)
                attr._fix_up(cls, name)
                cls._arguments[attr.name] = attr