code: @Override
  	public void close() throws IOException
  	{
  		if(closed)
  			return;
  		checkState();
  		uncheckedWriteTillByte(false);
  		closed = true;
  		try
  		{
  			out.close();
  		}
  		catch(IOException e)
  		{
  			error = true;
  			throw e;
  		}
  		finally
  		{
  			out = null;
  		}
  	}
docs: {@inheritDoc}