def remove(self, recursive = False):
        """ Remove the prefix.

            Maps to the function :py:func:`nipap.backend.Nipap.remove_prefix`
            in the backend. Please see the documentation for the backend
            function for information regarding input arguments and return
            values.
        """

        xmlrpc = XMLRPCConnection()
        try:
            xmlrpc.connection.remove_prefix(
                {
                    'prefix': { 'id': self.id },
                    'recursive': recursive,
                    'auth': self._auth_opts.options
                })
        except xmlrpclib.Fault as xml_fault:
            raise _fault_to_exception(xml_fault)

        # update cache
        if self.id in _cache['Prefix']:
            del(_cache['Prefix'][self.id])
        if self.pool is not None:
            if self.pool.id in _cache['Pool']:
                del _cache['Pool'][self.pool.id]