anchor.diff:  		// assumed there is only single copy of any program in the _programs list
   		// (that's how it's constructed)
   
  -		var i, il, programInfo;
  +		var i, il;
  +		Program programInfo;
   		var deleteProgram = false;
   
   		for ( var i = 0, il = _programs.length; i < il; i ++ ) {
   
   			programInfo = _programs[ i ];
   
  -			if ( programInfo.program == program ) {
  +			if ( programInfo.glProgram == program ) {
   
   				programInfo.usedTimes --;
   
  
positive.code: 
  	/** Internal properties **/
  
  	List _programs;
  	int _programs_counter;
  
  	// internal state cache
  
negative.code: 
  				programInfo = _programs[ i ];
  
  				if ( programInfo.glProgram != program ) {
  
  					newPrograms.add( programInfo );
  
  