Why need this line? 
`buffer` is null.