@Override
	public ArrayList<Arch<T>> archsBetweenNodes (Node<T> node1, Node<T> node2) {
		
		ArrayList<Arch<T>> archsList = new ArrayList<Arch<T>>(); // Return Value
		
		if (node1 != null && node2 != null) { // The Nodes Mustn't Be Null
			
			if ( (this.nodes.contains(node1)) && (this.nodes.contains(node2)) ) { // Nodes Must Be Contained In The Node List
				
				for (int i = 0; i < this.archs.size(); i++) { // Check For Every Arch
					
					if (node1.equals(this.archs.get(i).getA())) { // Node1 Is The First Node In The Arch
								
						if (node2.equals(this.archs.get(i).getB())) { // Node2 Is The Second Node In The Arch
									
							archsList.add(this.archs.get(i));
									
						}
								
					}					
							
				} 
				
			} else {
				
				archsList = null;
				
			}				
			
		} else {
			
			archsList = null;
			
		}
		
		if (archsList != null) {
			
			if (archsList.size() == 0) {
				
				archsList = null;
				
			}	
			
		}
		
		return archsList;
		
	}