code: def copy(self, orig):
          '''
          :param orig: SessionInfo object to copy
          :return: True if changed, false otherwise
          '''
          changed = False
          for attr in SessionInfo.fields:
              oattr = getattr(orig, attr)
              if getattr(self, attr) != oattr:
                  setattr(self, attr, oattr)
                  changed = True
          return changef copy(self, orig):
          '''
          :param orig: SessionInfo object to copy
          :return: True if changed, false otherwise
          '''
          changed = False
          for attr in SessionInfo.fields:
              oattr = getattr(orig, attr)
              if getattr(self, attr) != oattr:
                  setattr(self, attr, oattr)
                  changed = True
          return changed
docs: :param orig: SessionInfo object to copy
          :return: True if changed, false otherwise