def METHOD_NAME(self, in_module=False):
    if not in_module and self.is_static():
        return self.make_op()
    name = self.get_public_name()
    params = []
    args = []
    for p in self.param_list:
        ptype, pname = string.split(p)
        args.append(from_any(ptype, pname))
        params.append("PyObject %s" % pname)
    if self.is_internal():
        mods = "override "
        self.is_invokable = False
    else:
        mods = ""
    if self.is_static():
        mods += "static "
    ret = ["public %sPyObject %s(%s) {" % (mods, name, string.join(params, ", "))]
    if self.ret_type == 'void':
        ret.append("    %s(%s);" % (self.name, string.join(args, ", ")))
        ret.append("    return Py.None;")
    else:
        value = "%s(%s)" % (self.name, string.join(args, ", "))
        ret.append("    return %s;" % to_any(self.ret_type, value))
    ret.append("}")
    return ret