code: @GwtIncompatible // Class.isInstance
    public final <T> FluentIterable<T> filter(Class<T> type) {
      return from(Iterables.filter(getDelegate(), type));
    }
docs: Returns the elements from this fluent iterable that are instances of class {@code type}.
  
  <p><b>{@code Stream} equivalent:</b> {@code stream.filter(type::isInstance).map(type::cast)}.
  This does perform a little more work than necessary, so another option is to insert an
  unchecked cast at some later point:
  
  <pre>
  {@code @SuppressWarnings("unchecked") // safe because of ::isInstance check
  ImmutableList<NewType> result =
  (ImmutableList) stream.filter(NewType.class::isInstance).collect(toImmutableList());}
  </pre>