@Override
	public void init()
	{
		super.init();
		int pos = 0;
		rowFirst = ByteTools.readShort( getByteAt( pos++ ), getByteAt( pos++ ) );
		rowLast = ByteTools.readShort( getByteAt( pos++ ), getByteAt( pos++ ) );
		colFirst = ByteTools.readShort( getByteAt( pos++ ), getByteAt( pos++ ) );
		colLast = ByteTools.readShort( getByteAt( pos++ ), getByteAt( pos++ ) );
		Unicodestring ustr = new Unicodestring();

		String nm = "";
		if( getSheet() != null )
		{
			if( !getSheet().getSheetName().isEmpty() )
			{
				nm = getSheet().getSheetName() + "!";
			}
		}
		nm += ExcelTools.getAlphaVal( colFirst );
		nm += rowFirst + ":";
		nm += ExcelTools.getAlphaVal( colLast );
		nm += rowLast;
		try
		{
			range = new CellRange( nm, null );
		}
		catch( Exception e )
		{
			log.warn( "initializing Hlink record failed: " + e );
		}
		log.trace( "Hlink Cells: " + range.toString() );

		try
		{
			linkStruct = new HLinkStruct( getBytesAt( 0, getLength() ) );
		}
		catch( Exception e )
		{
			log.warn( "Hyperlink parse failed for Cells " + range.toString() + ": " + e );
		}
		log.trace( "Hlink URL: " + linkStruct.getUrl() );
	}