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;
}

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 ; }
adds a transaction to this block , with or without checking the sanity of doing so
