docs: public RemoteTable getRemoteTable(String strRecordName) throws RemoteException
      {
          if ((strRecordName == null) || (strRecordName.length() == 0))
              strRecordName = this.getMainRecord().getTableNames(false);  // Main Record
          if (strRecordName.lastIndexOf('.') != -1) // Correct this if a class name is passed
              strRecordName = strRecordName.substring(strRecordName.lastIndexOf('.') + 1);
          Record record = this.getRecord(strRecordName);
          if (record == null)
              return null;    // It must be one of this session's files
          if (this instanceof TableSession)
          {
              if (this.getMainRecord() == record)
                  return (RemoteTable)this;
          }
          RemoteTable table = null;
          for (int iIndex = 0; iIndex < this.getSessionObjectCount(); iIndex++)
          {
              BaseSession sessionObject = this.getSessionObjectAt(iIndex);
              if (sessionObject instanceof TableSession)
              {
                  if (sessionObject.getMainRecord() != null)
                      if (sessionObject.getMainRecord().getTableNames(false).equals(strRecordName))
                          return (RemoteTable)sessionObject;
              }
          }
          // Not wrapped yet, wrap in a new TableSessionObject
          try   {
              RecordOwner recordOwner = record.getRecordOwner();
              boolean bMainQuery = false;
              if (recordOwner != null)
                  if (record == recordOwner.getMainRecord())
                      bMainQuery = true;
              table = new TableSession(this, record, null);
              if (recordOwner != null)
                  if (bMainQuery)
                  {
                      recordOwner.addRecord(record, bMainQuery);  // If the session wanted to access this record too, make sure it still can.
                      Utility.getLogger().info("Should not create a sub-session for the main record!");   // It is common to do this for thin sessions
                  }
          } catch (Exception ex)  {
              table = null;
          }
          return table;
      }