'@type write: callable that takes L{list} of L{bytes}
@param write: A writer which is a callable that takes a list of
strings.
@type iterable: iterable which yields L{bytes}
@param iterable: An iterable container of strings.
@type memoryBufferSize: L{int} or L{None}
@param memoryBufferSize: The number of bytes to buffer before flushing
the buffer to the writer.'

def __init__(self, write, iterable, memoryBufferSize=None):

    self.lines = []
    self.write = write
    self.iterator = iter(iterable)
    if (memoryBufferSize is None):
        memoryBufferSize = (2 ** 16)
    self.memoryBufferSize = memoryBufferSize
