public boolean get(final int findIndex) {
   if (findIndex == -1) {
     return true;
   }
   Integer findResult = ref.get(findIndex);
   return checkInteger(findIndex, findResult);
 }
 public boolean checkChangeId() {
   ChangedValue changedValue = lastChangeValue.get();
   if (changedValue == null) {
     return true;
   }
   Integer findResult = ref.get(changedValue.index);
   return checkInteger(changedValue.value, findResult);
 }
    public boolean changeId(int index, int value) {

      if (index < arraySize) {
        ref.set(index, value);
        lastChangeValue.set(new ChangedValue(index, value));
        //                maxIndex.updateMax(nextId);
        //                updateIndex.offer(nextId);
        //                logger.debug("nextId:{}", nextId);
        return true;
      } else {
        return false;
      }
    }
    public boolean nextId() {

      int nextId = this.nextId.getAndIncrement();
      if (nextId < arraySize) {
        ref.set(nextId, nextId);
        afterLast.set(nextId);
        //                maxIndex.updateMax(nextId);
        //                updateIndex.offer(nextId);
        //                logger.debug("nextId:{}", nextId);
        return true;
      } else {
        return false;
      }
    }