in src/main/scala/com/twitter/penguin/korean/util/KoreanSubstantive.scala [103:117]
protected[korean] def collapseNouns(posNodes: Seq[KoreanToken]): Seq[KoreanToken] = {
val (nodes, collapsing) = posNodes.foldLeft((List[KoreanToken](), false)) {
case ((pl: List[KoreanToken], collapsing: Boolean), p: KoreanToken)
if p.pos == Noun && p.text.length == 1 && collapsing =>
val text = pl.head.text + p.text
val offset = pl.head.offset
(KoreanToken(text, Noun, offset, text.length, unknown = true) :: pl.tail, true)
case ((pl: List[KoreanToken], collapsing: Boolean), p: KoreanToken)
if p.pos == Noun && p.text.length == 1 && !collapsing =>
(p :: pl, true)
case ((pl: List[KoreanToken], collapsing: Boolean), p: KoreanToken) =>
(p :: pl, false)
}
nodes.reverse.toSeq
}