docs: @Override
      protected Iterator<?> getJavaIterator(Context cx, Scriptable scope, Object obj) {
          if (obj instanceof Wrapper) {
              Object unwrapped = ((Wrapper) obj).unwrap();
              Iterator<?> iterator = null;
              if (unwrapped instanceof Iterator)
                  iterator = (Iterator<?>) unwrapped;
              if (unwrapped instanceof Iterable)
                  iterator = ((Iterable<?>)unwrapped).iterator();
              return iterator;
          }
          return null;
      }