anchor.diff:    }
   
     void _bindSampler2D(Sampler2D sampler) {
  -    if (sampler != _boundSampler2D || sampler != _textureUnitsSamplers[_activeTextureUnit]) {
  +    if (sampler != _boundSampler2D ||
  +        sampler != _textureUnitsSamplers[_activeTextureUnit]) {
         if (sampler == null) {
           _context.bindTexture(WebGL.TEXTURE_2D, null);
         } else {
  
positive.code:     _samplerResources = new _ContextSamplerResourceManager(this);
      _defaultFrame = new Frame._default(this);
      _boundFrame = _defaultFrame;
      _recentlyUsedTextureUnits = new Queue.from(new List.generate(maxTextureUnits, (i) => i));
    }
  
    /// Retrieves a [RenderingContext] for the [canvas].
  
negative.code:   }
  
    void _updateFaceCulling(CullingMode faceCulling) {
      if (faceCulling != null) {
        if (!_faceCullingEnabled) {
          _context.enable(WebGL.CULL_FACE);
          _faceCullingEnabled = true;
        }
  
        if (faceCulling != _faceCulling) {
          _context.cullFace(_cullingModeMap[faceCulling]);
          _faceCulling = faceCulling;
        }
      } else if (faceCulling == null && _faceCullingEnabled) {
        _context.disable(WebGL.CULL_FACE);
        _faceCullingEnabled = false;
  