docs: private IonStruct makeIonRepresentation(ValueFactory factory)
      {
          IonStruct ionRep = factory.newEmptyStruct();
  
          ionRep.addTypeAnnotation(ION_SYMBOL_TABLE);
  
          SymbolTable[] importedTables = getImportedTablesNoCopy();
  
          if (importedTables.length > 1)
          {
              IonList importsList = factory.newEmptyList();
              for (int i = 1; i < importedTables.length; i++)
              {
                  SymbolTable importedTable = importedTables[i];
                  IonStruct importStruct = factory.newEmptyStruct();
  
                  importStruct.add(NAME,
                                   factory.newString(importedTable.getName()));
                  importStruct.add(VERSION,
                                   factory.newInt(importedTable.getVersion()));
                  importStruct.add(MAX_ID,
                                   factory.newInt(importedTable.getMaxId()));
  
                  importsList.add(importStruct);
              }
              ionRep.add(IMPORTS, importsList);
          }
  
          if (mySymbolsCount > 0)
          {
              int sid = myFirstLocalSid;
              for (int offset = 0; offset < mySymbolsCount; offset++, sid++)
              {
                  String symbolName = mySymbolNames[offset];
                  recordLocalSymbolInIonRep(ionRep, symbolName, sid);
              }
          }
  
          return ionRep;
      }