Closes this source and releases the resources held by this source. It is an error to read a closed source. It is safe to close a source more than once.