code: func AsTransactionObject(trytes Trytes, hash ...Hash) (*Transaction, error) {
  	var tx *Transaction
  	var err error
  
  	if err := ValidTransactionTrytes(trytes); err != nil {
  		return nil, err
  	}
  
  	skipHashCalc := len(hash) > 0
  	if tx, err = ParseTransaction(MustTrytesToTrits(trytes), skipHashCalc); err != nil {
  		return nil, err
  	}
  
  	if skipHashCalc {
  		tx.Hash = hash[0]
  	}
  
  	return tx, nil
  }
docs: // AsTransactionObject makes a new transaction from the given trytes.
  // Optionally the computed transaction hash can be overwritten by supplying an own hash.