public double removeAt(int offset) {
   synchronized (mutex) {
     return list.removeAt(offset);
   }
 }
 public double get(int index) {
   synchronized (mutex) {
     return list.get(index);
   }
 }
 public void set(int offset, double[] values) {
   synchronized (mutex) {
     list.set(offset, values);
   }
 }
 public boolean forEachDescending(TDoubleProcedure procedure) {
   synchronized (mutex) {
     return list.forEachDescending(procedure);
   }
 }
 public boolean equals(Object o) {
   synchronized (mutex) {
     return list.equals(o);
   }
 }
 public int binarySearch(double value) {
   synchronized (mutex) {
     return list.binarySearch(value);
   }
 }
 public TDoubleList inverseGrep(TDoubleProcedure condition) {
   synchronized (mutex) {
     return list.inverseGrep(condition);
   }
 }
 public TDoubleList subList(int fromIndex, int toIndex) {
   synchronized (mutex) {
     return new TSynchronizedDoubleList(list.subList(fromIndex, toIndex), mutex);
   }
 }
 public double[] toArray(double[] dest, int offset, int len) {
   synchronized (mutex) {
     return list.toArray(dest, offset, len);
   }
 }
 public void insert(int offset, double[] values, int valOffset, int len) {
   synchronized (mutex) {
     list.insert(offset, values, valOffset, len);
   }
 }
 public int lastIndexOf(double o) {
   synchronized (mutex) {
     return list.lastIndexOf(o);
   }
 }
 public void insert(int offset, double value) {
   synchronized (mutex) {
     list.insert(offset, value);
   }
 }
 public void add(double[] vals, int offset, int length) {
   synchronized (mutex) {
     list.add(vals, offset, length);
   }
 }
 public void add(double[] vals) {
   synchronized (mutex) {
     list.add(vals);
   }
 }
 public void sort() {
   synchronized (mutex) {
     list.sort();
   }
 }
 public double[] toArray(double[] dest, int source_pos, int dest_pos, int len) {
   synchronized (mutex) {
     return list.toArray(dest, source_pos, dest_pos, len);
   }
 }
 public void sort(int fromIndex, int toIndex) {
   synchronized (mutex) {
     list.sort(fromIndex, toIndex);
   }
 }
 public int lastIndexOf(int offset, double value) {
   synchronized (mutex) {
     return list.lastIndexOf(offset, value);
   }
 }
 public int binarySearch(double value, int fromIndex, int toIndex) {
   synchronized (mutex) {
     return list.binarySearch(value, fromIndex, toIndex);
   }
 }
 public void fill(double val) {
   synchronized (mutex) {
     list.fill(val);
   }
 }
 public double min() {
   synchronized (mutex) {
     return list.min();
   }
 }
 public void fill(int fromIndex, int toIndex, double val) {
   synchronized (mutex) {
     list.fill(fromIndex, toIndex, val);
   }
 }
 public void transformValues(TDoubleFunction function) {
   synchronized (mutex) {
     list.transformValues(function);
   }
 }
 public void reverse() {
   synchronized (mutex) {
     list.reverse();
   }
 }
 public int hashCode() {
   synchronized (mutex) {
     return list.hashCode();
   }
 }
 public void reverse(int from, int to) {
   synchronized (mutex) {
     list.reverse(from, to);
   }
 }
 public double set(int index, double element) {
   synchronized (mutex) {
     return list.set(index, element);
   }
 }
 public void shuffle(Random rand) {
   synchronized (mutex) {
     list.shuffle(rand);
   }
 }
 public void set(int offset, double[] values, int valOffset, int length) {
   synchronized (mutex) {
     list.set(offset, values, valOffset, length);
   }
 }
 public void remove(int offset, int length) {
   synchronized (mutex) {
     list.remove(offset, length);
   }
 }