<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def put(self, item, block=True, timeout=None, dup_callback=None):
 """Put an item to queue if it is not duplicated. """

        if not self.is_duplicated(item):
            super(CachedQueue, self).put(item, block, timeout)
        else:
            if dup_callback:
                dup_callback(item)