code: public static <E, RI extends RichIterable<E>> UnmodifiableRichIterable<E> of(RI iterable)
      {
          if (iterable == null)
          {
              throw new IllegalArgumentException("cannot create a UnmodifiableRichIterable for null");
          }
          return new UnmodifiableRichIterable<E>(iterable);
      }
docs: This method will take a RichIterable and wrap it directly in a UnmodifiableRichIterable.