private Stub deserializeRoot(StubInputStream inputStream,
                               FileLocalStringEnumerator storage,
                               @NotNull SerializationState state) throws IOException, SerializerNotFoundException {
    int serializedId = DataInputOutputUtil.readINT(inputStream);
    ObjectStubSerializer<?, ? extends Stub> serializer = getClassByIdLocal(serializedId, null, state);
    ourRootStubSerializer.set(serializer);
    try {
      Stub stub = serializer.deserialize(inputStream, null);
      if (stub instanceof StubBase<?> base) {
        deserializeStubList(base, serializer, inputStream, storage, state);
      }
      else {
        deserializeChildren(inputStream, stub, state);
      }
      return stub;
    }
    finally {
      ourRootStubSerializer.set(null);
    }
  }
private Stub deserializeRoot(StubInputStream inputStream,
                               FileLocalStringEnumerator storage,
                               @NotNull SerializationState state)