public void read_scalefactor(Bitstream stream, Header header)
	  {
	    super.read_scalefactor(stream, header);
	    if (channel2_allocation != 0)
	    {
	  	 switch (channel2_scfsi)
	  	 {
	  		case 0:
	    	   channel2_scalefactor1 = scalefactors[stream.get_bits(6)];
	  	  	   channel2_scalefactor2 = scalefactors[stream.get_bits(6)];
	  	       channel2_scalefactor3 = scalefactors[stream.get_bits(6)];
	  	       break;
	  
	  		case 1:
	  	   	   channel2_scalefactor1 = channel2_scalefactor2 =
	        						      scalefactors[stream.get_bits(6)];
	  	       channel2_scalefactor3 = scalefactors[stream.get_bits(6)];
	  	       break;
	  
	  		case 2:
	  	   	   channel2_scalefactor1 = channel2_scalefactor2 =
	  	       channel2_scalefactor3 = scalefactors[stream.get_bits(6)];
	  	       break;
	  
	  		case 3:
	  	   	   channel2_scalefactor1 = scalefactors[stream.get_bits(6)];
	  	       channel2_scalefactor2 = channel2_scalefactor3 =
	        							   scalefactors[stream.get_bits(6)];
	    	   break;
	  	 }
	  	 prepare_sample_reading(header, channel2_allocation, 1,
	                             channel2_factor, channel2_codelength, channel2_c,
	                             channel2_d);
	   }
	  }