docs: public static <T> List<T> mergedView(final List<T> left, final List<T> right)
      {
          List<T> merged = new AbstractList<T>() 
          {
  
              @Override
              public T get(int index)
              {
                  if(index < left.size())
                      return left.get(index);
                  else if(index-left.size() < right.size())
                      return right.get(index-left.size());
                  else
                      throw new IndexOutOfBoundsException("List of lengt " + size() + " has no index " + index);
              }
  
              @Override
              public int size()
              {
                  return left.size() + right.size();
              }
          };
          return merged;
      }