in cassovary-core/src/main/scala/com/twitter/cassovary/util/io/ListOfEdgesGraphReader.scala [174:197]
def next() = {
def prepareEdges(buf: Array[Int]) : (Array[Int], Int) = {
(removeDuplicates, sortNeighbors) match {
case (false, false) => (buf, buf.max)
case (true, false) =>
val b = buf.distinct
(b, b.max)
case (false, true) =>
val b = buf.sorted
(b, b(b.length - 1))
case (true, true) =>
val b = buf.sorted.distinct
(b, b(b.length - 1))
}
}
val buf = idAndEdgesIterator.next()
val id = buf(0)
val edgesArr = buf.toArray(1)
val (edges, edgesMaxId) = prepareEdges(edgesArr)
val nodeMaxId = id.max(edgesMaxId)
NodeIdEdgesMaxId(id, edges, nodeMaxId)
}