code: func (self *StateDB) createObject(addr common.Address) (newobj, prev *stateObject) {
  	prev = self.getStateObject(addr)
  	newobj = newObject(self, addr, Account{})
  	newobj.setNonce(0) // sets the object to dirty
  	if prev == nil {
  		self.journal.append(createObjectChange{account: &addr})
  	} else {
  		self.journal.append(resetObjectChange{prev: prev})
  	}
  	self.setStateObject(newobj)
  	return newobj, prev
  }
docs: // createObject creates a new state object. If there is an existing account with
  // the given address, it is overwritten and returned as the second return value.