anchor.diff:  
     Iterable<Part> get partList => _partTable.values;
   
  +  bool textCoordFound = true;
     List<double> vertCoord = new List<double>();
     List<double> textCoord = new List<double>();
     List<double> normCoord = new List<double>();
  
positive.code:     if (printStats) {
        print("Obj.fromString: URL=$url vertices = $indexCounter");
        print("Obj.fromString: URL=$url indices.length = ${indices.length}");
        print("Obj.fromString: URL=$url vertCoord.length = ${vertCoord.length} (3 * $indexCounter)");
        print("Obj.fromString: URL=$url textCoord.length = ${textCoord.length} (2 * $indexCounter)");
        print("Obj.fromString: URL=$url normCoord.length = ${normCoord.length} (3 * $indexCounter)");
        
  
negative.code:     trimTable(url); // remove empty objects from _partTable
  
      // FIXME
      int textCoordNeeded = indexCounter * 2;
      if (textCoord.length < textCoordNeeded) {
        textCoordFound = false; // mark real texture coordinates as missing
        print("OBJ: FIXME: url=$url adding ${textCoordNeeded - textCoord.length} virtual texture coordinates");
        while (textCoord.length < textCoordNeeded) {
          textCoord.add(0.0); // u
          textCoord.add(0.0); // v
        }
  