Extends Scala iterator's drop method to allow for drop(x: Long)
You can use a (tail-)recursive method to achieve same result:

def drop[T](c: Long, i: Iterator[T]): Iterator[T] = {
  if (c &gt; Int.MaxValue) drop(c - Int.MaxValue, i.drop(Int.MaxValue))
  else i.drop(c.toInt)
}

def dropLongAndGet[T](dropVal: Long, iteratorLong: Iterator[T]): T = {
  drop(dropVal, iteratorLong).next
}