Is there a reason you chose not implement java.util.Queue?
Look e.g. at the disclaimers at the size method of java.util.concurrent.ConcurrentLinkedQueue.
Look e.g. at the disclaimers at the size method of java.util.concurrent.ConcurrentLinkedQueue.