code: private <X> void copy(X[] elementsCopy) {
  		if (!isEmpty()) {
  			if (firstIndex < lastIndex) {
  				System.arraycopy(elements, firstIndex, elementsCopy, 0, lastIndex - firstIndex);
  			} else {
  				int firstSize = elements.length - firstIndex;
  				System.arraycopy(elements, firstIndex, elementsCopy, 0, firstSize);
  				System.arraycopy(elements, 0, elementsCopy, firstSize, lastIndex);
  			}
  		}
  	}
docs: Copy elements in a target array.
  
  @param elementsCopy Target array