http://www.itzhai.com/design-pattern-notes-decorator-decorator-design-pattern-and-its-javaio-flow-system-using.html