docs: boolean attemptClearSymbolIDValues()
      {
          boolean sidsRemain = false;
          if (_fieldName != null)
          {
              _fieldId = UNKNOWN_SYMBOL_ID;
          } else if (_fieldId > UNKNOWN_SYMBOL_ID)
          {
              // retaining the field SID, as it couldn't be cleared due to loss of context
              // TODO - for SID handling consistency; this should attempt resolution first
              sidsRemain = true;
          }
  
          if (_annotations != null)
          {
              for (int i = 0; i < _annotations.length; i++)
              {
                  SymbolToken annotation = _annotations[i];
  
                  // _annotations may have nulls at the end.
                  if (annotation == null) break;
  
                  String text = annotation.getText();
                  // TODO - for SID handling consistency; this should attempt resolution first, not just drop entry
                  if (text != null && annotation.getSid() != UNKNOWN_SYMBOL_ID)
                  {
                      _annotations[i] =
                          newSymbolToken(text, UNKNOWN_SYMBOL_ID);
                  }
              }
          }
  
          return !sidsRemain;
      }