* node
*/
public IntIterator edgeRows(int node, int direction) {
if ( direction==OUTEDGES ) {
int[] outedges = (int[])m_links.get(node, OUTLINKS);
return new IntArrayIterator(outedges, 0, getOutDegree(node));
} else if ( direction==INEDGES ) {
int[] inedges = (int[])m_links.get(node, INLINKS);
return new IntArrayIterator(inedges, 0, getInDegree(node));
} else if ( direction==UNDIRECTED ) {
return new CompositeIntIterator(
edgeRows(node, OUTEDGES), edgeRows(node, INEDGES));
} else {
throw new IllegalArgumentException("Unrecognized edge type: "