anchor.diff:  
       private static final String GET_NODES_IN_PATH = "SELECT DISTINCT pathoutage.nodeid FROM pathoutage, ipinterface WHERE pathoutage.criticalpathip=? AND pathoutage.nodeid=ipinterface.nodeid AND ipinterface.ismanaged!='D' ORDER BY nodeid";
   
  -    private static Set<Integer> getAllDependencyNodesByCriticalPath(String criticalpathip) throws SQLException {
  -	    Set<Integer> allPathNodes = getDependencyNodesByCriticalPath(criticalpathip);
  -	    Set<Integer> currentNodes=allPathNodes;
  -	    while (currentNodes.size() > 0) {
  -	        Set<Integer> nextIterationNodes=new TreeSet<Integer>();
  -	        for (Integer pathnodeid : currentNodes ) {
  -	            nextIterationNodes.addAll(getDependencyNodesByNodeid(pathnodeid));
  -	        }
  -	        allPathNodes.addAll(nextIterationNodes);
  -	        currentNodes=nextIterationNodes;
  -	    }
  -	    return allPathNodes;        
  -    }
  -    
  -
       private static Set<Integer> getDependencyNodesByCriticalPath(String criticalpathip) throws SQLException {
  -	    final Connection conn = DataSourceFactory.getInstance().getConnection();
  -	    final DBUtils d = new DBUtils(PathOutageFactory.class, conn);
  -	    Set<Integer> pathNodes = new TreeSet<Integer>();
  -        try {
  -            PreparedStatement stmt = conn.prepareStatement(GET_NODES_IN_PATH);
  -            d.watch(stmt);
  -            stmt.setString(1, criticalpathip);
  -
  -            ResultSet rs = stmt.executeQuery();
  -            d.watch(rs);
  -            while (rs.next()) {
  -                pathNodes.add(rs.getInt(1));
  -            }
  -        } finally {
  -            d.cleanUp();
  -        }
  -	    return pathNodes;
  +	    return PathOutageFactory.getInstance().getDependencyNodesByCriticalPath(criticalpathip);
           
       }
  -    
  -	private static Set<Integer> getAllDependencyNodesByNodeid(int nodeid) throws SQLException {
  -	    Set<Integer> allPathNodes = getDependencyNodesByNodeid(nodeid);
  -	    Set<Integer> currentNodes=allPathNodes;
  -	    while (currentNodes.size() > 0) {
  -	        Set<Integer> nextIterationNodes=new TreeSet<Integer>();
  -	        for (Integer pathnodeid : currentNodes ) {
  -	            nextIterationNodes.addAll(getDependencyNodesByNodeid(pathnodeid));
  -	        }
  -	        allPathNodes.addAll(nextIterationNodes);
  -	        currentNodes=nextIterationNodes;
  -	    }
  -	    return allPathNodes;
  -	}
  -	
  -	private static Set<Integer> getDependencyNodesByNodeid(int nodeid) throws SQLException {
  -	    final Connection conn = DataSourceFactory.getInstance().getConnection();
  -	    final DBUtils d = new DBUtils(PathOutageFactory.class, conn);
  -
  -	    Set<Integer> pathNodes = new TreeSet<Integer>();
  -        try {
  -            PreparedStatement stmt = conn.prepareStatement(GET_DEPENDENCY_NODES_BY_NODEID);
  -            d.watch(stmt);
  -            stmt.setInt(1, nodeid);
  -
  -            ResultSet rs = stmt.executeQuery();
  -            d.watch(rs);
  -            while (rs.next()) {
  -                pathNodes.add(rs.getInt(1));
  -            }
  -        } finally {
  -            d.cleanUp();
  -        }
  -	    
  -	    return pathNodes;
  +	
  +	private static Set<Integer> getDependencyNodesByNodeId(int nodeid) throws SQLException {
  +	    return PathOutageFactory.getInstance().getDependencyNodesByNodeId(nodeid);
   	}
   	
   	public void sendOutagesChangedEvent() throws ServletException {
  
positive.code: 					newInterface.setAddress(newIface);
  					addInterface(theOutage, newInterface);
  					if (request.getParameter("addPathOutageInterfaceRadio") != null) {
  						for (Integer pathOutageNodeid: getAllDependencyNodesByCriticalPath(newIface)) {
  						    addNode(theOutage,pathOutageNodeid.intValue());
  						}
  					}
  
negative.code: 					int newNodeId = WebSecurityUtils.safeParseInt(newNode);
  					addNode(theOutage, newNodeId);
  					if (request.getParameter("addPathOutageNodeRadio") != null) {
  						for (Integer pathOutageNodeid: getDependencyNodesByNodeId(newNodeId)) {
  						    addNode(theOutage,pathOutageNodeid.intValue());
  						}
  					}
  