public Edge addEdge(Edge edge) { if (containsEdge(edge.getStartNode(), edge.getTargetNode(), edge.getType())) {
public Edge addEdge(INode startNode, INode targetNode, String type, int number){ if (startNode.getRoot()!= root || targetNode.getRoot() != root){
    public Edge addEdge(Edge edge) {        if (containsEdge(edge.getStartNode(), edge.getTargetNode(), edge.getType())) {            return null;        }        List sourceEdges = (List)startNodesList.get(edge.getStartNode());        List targetEdges = (List)targetNodesList.get(edge.getTargetNode());        sourceEdges.add(edge);        listeners.firePropertyChange(ID_SOURCE_CHANGED, null, edge);        targetEdges.add(edge);        listeners.firePropertyChange(ID_TARGET_CHANGED, null, edge);        return edge;    }