- fixed duplicate item during processing
- overrided some hashcode() equals() methods