code: public <C> Maybe<DbxEntry./*@Nullable*/WithChildrenC<C>> getMetadataWithChildrenIfChangedC(
              String path, boolean includeMediaInfo, /*@Nullable*/String previousFolderHash, Collector<DbxEntry,? extends C> collector)
          throws DbxException
      {
          return getMetadataWithChildrenIfChangedBase(path, includeMediaInfo, previousFolderHash, new DbxEntry.WithChildrenC.ReaderMaybeDeleted<C>(collector));
      }
docs: Same as {@link #getMetadataWithChildrenIfChanged} except instead of always returning a list of
  {@link DbxEntry} objects, you specify a {@link Collector} that processes the {@link DbxEntry}
  objects one by one and aggregates them however you want.
  
  <p>
  This allows your to process the {@link DbxEntry} values as they arrive, instead of having to
  wait for the entire API call to finish before processing the first one.  Be careful, though,
  because the API call may fail in the middle (after you've already processed some entries).
  Make sure your code can handle that situation.  For example, if you're inserting stuff into a
  database as they arrive, you might want do everything in a transaction and commit only if
  the entire call succeeds.
  </p>