Copy from Javalang