The chapter 'Add a reference to a statement' has a mistake:
foreach( $statementList->getByPropertyId( PropertyId::newFromNumber( 99 ) )->getIterator() ) { if( $statement->getReferences()->isEmpty() ) { $statement->addNewReference( $referenceSnaks ); } }
should be with '$statement' in the foreach declaration
foreach( $statementList->getByPropertyId( PropertyId::newFromNumber( 99 ) )->getIterator() as $statement) { if( $statement->getReferences()->isEmpty() ) { $statement->addNewReference( $referenceSnaks ); } }