private void handleInputs(HyperEdge edge,
                              Color color,
                              Map<Point, Element> pointToElm,
                              Map<Renderable, String> rToGraphId,
                              Element pathwayElm) {
        List<List<Point>> inputBranches = edge.getInputPoints();
        List<Point> backbone = edge.getBackbonePoints();
        if (inputBranches != null && inputBranches.size() > 0) {
            // This id should be used by the method createLineElmForBackbone()
            String anchorId = "e_" + edge.getID() + "_a_i";
            Point anchor = backbone.get(0);
            int index = 0;
            for (List<Point> points : inputBranches) {
                Element lineElm = createLineElmForBranch(points,
                                                         anchor,
                                                         anchorId,
                                                         false, 
                                                         "e_" + edge.getID() + "_i" + index, // i for input
                                                         color,
                                                         pointToElm);
                index ++;
                pathwayElm.addContent(lineElm);
            }
        }
        
        // Link edge to nodes
        List<Node> inputs = edge.getInputNodes();
        if (inputs.size() == 1) {
            Point p = backbone.get(0);
            Node node = inputs.get(0);
            linkPointToNode(p, pointToElm, rToGraphId, node);
        }
        else if (inputs.size() > 1) {
            for (int i = 0; i < inputs.size(); i ++) {
                Node input = inputs.get(i);
                List<Point> points = inputBranches.get(i);
                Point point = points.get(0);
                linkPointToNode(point, pointToElm, rToGraphId, input);
            }
        }
    }