public List<Vertex<T>> getNeighbors( Vertex<T> v ) {
    int pos = getVerticesIndexFor( v );
    if ( pos == -1 ) {
      throw new IllegalArgumentException( "vertex not found" );
    }

    List<Vertex<T>> neighbors = new ArrayList<Vertex<T>> ();
    for ( int i = 0; i < vertices.length; i++ ) {
      if ( this.adjMatrix[pos][i] == 1 ) {
        neighbors.add( vertices[i] );
      }
    }

    return neighbors;
  }