code: public static List<Double> asList(double... backingArray) {
      if (backingArray.length == 0) {
        return Collections.emptyList();
      }
      return new DoubleArrayAsList(backingArray);
    }
docs: Returns a fixed-size list backed by the specified array, similar to {@link
  Arrays#asList(Object[])}. The list supports {@link List#set(int, Object)}, but any attempt to
  set a value to {@code null} will result in a {@link NullPointerException}.
  
  <p>The returned list maintains the values, but not the identities, of {@code Double} objects
  written to or read from it. For example, whether {@code list.get(0) == list.get(0)} is true for
  the returned list is unspecified.
  
  <p>The returned list may have unexpected behavior if it contains {@code NaN}, or if {@code NaN}
  is used as a parameter to any of its methods.
  
  <p><b>Note:</b> when possible, you should represent your data as an {@link
  ImmutableDoubleArray} instead, which has an {@link ImmutableDoubleArray#asList asList} view.
  
  @param backingArray the array to back the list
  @return a list view of the array