@Override
  public ITimeSeriesSchemaInfo next() {
    if (!hasNext()) {
      throw new NoSuchElementException();
    }
    ITimeSeriesSchemaInfo result;
    if (!consumeView) {
      result = next;
      next = null;
    } else {
      // it may return null if cachedViewList is empty but consumeView is true
      result = cachedViewList.poll();
      consumeView = !cachedViewList.isEmpty();
    }
    isBlocked = null;
    return result;
  }
Fetch ITimeSeriesSchemaInfo from the iterator and return only in the following three cases

<ol>
  <li>successfully fetched an info of normal time series. consumeView is false and next is not
      null.
  <li>successfully fetched batch info of view time series. consumeView is true and next is
      null.
  <li>no more info to be fetched. consumeView is false and next is null.
</ol>
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/read/resp/reader/impl/TimeseriesReaderWithViewFetch.java