The BufferWriter is capable of appending various data types to buffer. No optimization is done yet. We may consider optimize it for appending (adding data to the tail) later. Change-Id: I3b8e749e410c7ea4d4f2fb855e27744131c63cb0