private void tryGetNext() {
        while (deviceIdIterator.hasNext()) {
          try {
            final IMemMNode node = getTableDeviceNode(table, deviceIdIterator.next());

            if (!node.isDevice() || node.getAsDeviceMNode().isPreDeactivateSelfOrTemplate()) {
              continue;
            }
            final IDeviceMNode<IMemMNode> deviceNode = node.getAsDeviceMNode();
            final ShowDevicesResult result =
                new ShowDevicesResult(
                    null,
                    deviceNode.isAlignedNullable(),
                    deviceNode.getSchemaTemplateId(),
                    deviceNode.getPartialPath().getNodes());
            result.setAttributeProvider(
                k ->
                    attributeProvider.apply(
                        ((TableDeviceInfo<IMemMNode>) deviceNode.getDeviceInfo())
                            .getAttributePointer(),
                        k));
            next = result;
            break;
          } catch (final PathNotExistException e) {
            // Do nothing
          } catch (final Throwable e) {
            t = e;
            return;
          }
        }
      }
Get node by the path

@return last node in given seriesPath
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/mem/MTreeBelowSGMemoryImpl.java