add buffer implementation based on BlockingQueue
add SimpleData
add producer and consumer implementations
fix SimpleData
add buffer implementation based on wait/notify