I'm pretty new to Scala and came up with the following construction:
val value=
  for {
    p1 <- getList()
    p2 <- parser.parse(p1)  //parser.parse(String) Returns some useful value
  } yield p2
value.asJava
Where
def getList(): List[String] = {
   //compiled code
}
I don't quite understand what's going on in the first piece of code. Searching for scala left arrow operator did't shed the light on this. Can't you explain it?
 
     
    