public static DeviceEntry deserialize(final ByteBuffer byteBuffer) {
    final IDeviceID iDeviceID = StringArrayDeviceID.deserialize(byteBuffer);
    int size = readInt(byteBuffer);
    final Binary[] attributeColumnValues = new Binary[size];
    while (size-- > 0) {
      attributeColumnValues[attributeColumnValues.length - size - 1] =
          deserializeBinary(byteBuffer);
    }
    return constructDeviceEntry(iDeviceID, attributeColumnValues, readInt(byteBuffer));
  }
The {@link DeviceEntry} shall have {@code null} suffix in its {@link IDeviceID}, e.g. "a.b.null".
However, in other places related to {@link TableDeviceSchemaCache} or {@link ISchemaRegion}, the
{@code null}s are trimmed thus will not appear in the {@link IDeviceID}, and it will be like
"a.b".
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/DeviceEntry.java