import java.util.List;
import java.util.ArrayList;

/* Implements an adjacency list. */
class GraphAdjacencyList<T> {

  private ArrayList<Node<T>> adjacencyList;

  public GraphAdjacencyList() {
    this.adjacencyList = new ArrayList<Node<T>>();
  }
}

@@ -80,13 +80,33 @@
 list
+ using linked lists
 . */%0A
+%0A
 clas
@@ -142,21 +142,16 @@
 private 
-Array
 List%3CNod
@@ -200,16 +200,24 @@
 ncyList(
+int size
 ) %7B%0A    
@@ -260,17 +260,683 @@
 ode%3CT%3E%3E(
-)
+size);%0A  %7D%0A%0A  /* Return true if firstNode points to secondNode. */%0A  protected boolean hasDirectedEdge(T firstNode, T secondNode) %7B%0A    return true;%0A  %7D%0A%0A  /* Return true if both firstNode and secondNode point to each other. */%0A  protected boolean hasUndirectedEdge(T firstNode, T secondNode) %7B%0A    return true;%0A  %7D%0A%0A  /* Add an edge from firstNode to secondNode. */%0A  protected void addDirectedEdge(T firstNode, T secondNode) %7B%0A    return;%0A  %7D%0A%0A  /* Finds the linked list starting with node value findData. */%0A  private Node getNode(T findData) %7B%0A    Node current = this;%0A%0A    while(current.data != findData) %7B%0A      current = current.next;%0A    %7D%0A%0A    return current
 ;%0A  %7D%0A%7D%0A

Add stubs for GraphAdjacencyList methods.