private void assertRange() {
   if (ASSERTS) {
     assert from <= l.size64();
     assert to <= l.size64();
     assert to >= from;
   }
 }
 public boolean addAll(final long index, final FloatCollection c) {
   ensureIndex(index);
   to += c.size();
   if (ASSERTS) {
     boolean retVal = l.addAll(from + index, c);
     assertRange();
     return retVal;
   }
   return l.addAll(from + index, c);
 }
 public void removeElements(final long from, final long to) {
   ensureIndex(from);
   ensureIndex(to);
   l.removeElements(this.from + from, this.from + to);
   this.to -= (to - from);
   if (ASSERTS) assertRange();
 }
 public boolean rem(float k) {
   long index = indexOf(k);
   if (index == -1) return false;
   to--;
   l.removeFloat(from + index);
   if (ASSERTS) assertRange();
   return true;
 }
 public void getElements(
     final long from, final float[][] a, final long offset, final long length) {
   ensureIndex(from);
   if (from + length > size64())
     throw new IndexOutOfBoundsException(
         "End index (" + from + length + ") is greater than list size (" + size64() + ")");
   l.getElements(this.from + from, a, offset, length);
 }
 public void addElements(final long index, final float a[][], long offset, long length) {
   ensureIndex(index);
   l.addElements(this.from + index, a, offset, length);
   this.to += length;
   if (ASSERTS) assertRange();
 }
 public float set(long index, float k) {
   ensureRestrictedIndex(index);
   return l.set(from + index, k);
 }
 public float removeFloat(long index) {
   ensureRestrictedIndex(index);
   to--;
   return l.removeFloat(from + index);
 }
 public float getFloat(long index) {
   ensureRestrictedIndex(index);
   return l.getFloat(from + index);
 }
 public void add(final long index, final float k) {
   ensureIndex(index);
   l.add(from + index, k);
   to++;
   if (ASSERTS) assertRange();
 }
 public boolean add(final float k) {
   l.add(to, k);
   to++;
   if (ASSERTS) assertRange();
   return true;
 }