public boolean removeAt(int index) {
		if (indexWithinCurrentSize(index)) {
			System.arraycopy(array, index + 1, array, index, array.length - index - 1);
			array[array.length - 1] = null; // last element
			currentSize--;
			if (index == currentSize) {
				int i = index - 1;
				while (array[i] == null && i >= 0) {
					currentSize--;
					i--;
				}
			}

			return true;
		}
		return false;
	}