def connectionMap(self, scene, nodes):
        """
        Generates a mapping for the nodes to each other based on their
        connections.
        
        :param      nodes | [<XNode>, ..]
        
        :return     {<XNode>: ([<XNode> input, ..], [<XNode> output, ..]), ..}
        """
        output = {}
        connections = scene.connections()
        
        for node in nodes:
            inputs = []
            outputs = []
            
            for connection in connections:
                in_node = connection.inputNode()
                out_node = connection.outputNode()
                
                if node == in_node:
                    inputs.append(out_node)
                elif node == out_node:
                    outputs.append(in_node)
                
            output[node] = (inputs, outputs)
        
        return output