'Remove monitoring the given L{FileDescriptor} for either reading or
writing. If it\'s still monitored for the other operation, we
re-register the L{FileDescriptor} for only that operation.'

def _remove(self, source, primary, other, flags):

    if (source not in primary):
        return
    self._source_remove(self._sources[source])
    primary.remove(source)
    if (source in other):
        self._sources[source] = self.input_add(source, flags, self._ioEventCallback)
    else:
        self._sources.pop(source)
