@Override
  public boolean add(E e) {
    while (true) {
      Object[] elements = get();
      Object[] newElements = createArrayAdd(elements, e);
      if (replaceArray(elements, newElements)) break;
    }
    return true;
  }
@Override
  public boolean add(E e)