question: void addTransaction ( Transaction t , boolean runSanityChecks ) { unCacheTransactions ( ) ; if ( transactions == null ) { transactions = new ArrayList < Transaction > ( ) ; } t . setParent ( this ) ; if ( runSanityChecks && transactions . size ( ) == 0 && ! t . isCoinBase ( ) ) throw new RuntimeException ( "Attempted to add a non-coinbase transaction as the first transaction: " + t ) ; else if ( runSanityChecks && transactions . size ( ) > 0 && t . isCoinBase ( ) ) throw new RuntimeException ( "Attempted to add a coinbase transaction when there already is one: " + t ) ; transactions . add ( t ) ; adjustLength ( transactions . size ( ) , t . length ) ; merkleRoot = null ; hash = null ; }
target:  Adds a transaction to this block, with or without checking the sanity of doing so 