@Override
    public ISchemaRegionPlan visitCreateLogicalView(
        final ICreateLogicalViewPlan createLogicalViewPlan, final ByteBuffer buffer) {

      final int viewSize = buffer.getInt();
      final Map<PartialPath, ViewExpression> viewPathToSourceMap = new HashMap<>();
      for (int i = 0; i < viewSize; i++) {
        final int byteSizeOfPath = buffer.getInt();
        final byte[] bytesOfPath = new byte[byteSizeOfPath];
        buffer.get(bytesOfPath);
        try {
          final PartialPath thisPath = new PartialPath(new String(bytesOfPath));
          ViewExpression thisExp = ViewExpression.deserialize(buffer);
          viewPathToSourceMap.put(thisPath, thisExp);
        } catch (final IllegalPathException e) {
          LOGGER.error("Cannot deserialize SchemaRegionPlan from buffer", e);
        }
      }
      createLogicalViewPlan.setViewPathToSourceExpressionMap(viewPathToSourceMap);
      return createLogicalViewPlan;
    }
This class provides the ability to deserialize a SchemaRegionPlan from binary data in given
ByteBuffer, the format of which is compatible with that of PhysicalPlan in 0.14 snapshot
versions.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/logfile/visitor/SchemaRegionPlanDeserializer.java