anchor.diff:      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
  +      if (fillMissingTextCoord) {
  +        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
  +        }
         }
       }
   
  
positive.code:     */
    }
  
    Obj.fromString(String url, String str, {bool printStats: false, bool debugPrintParts: false, String defaultName: null, bool debugPrintTrace: false}) {
  
      Map<String, int> indexTable = new Map<String, int>();
      List<double> _vertCoord = new List<double>();
  
negative.code:       print("Obj.fromString: URL=$url textCoordFound = $textCoordFound");
        print("Obj.fromString: URL=$url textCoord.length = ${textCoord.length} (2 * $indexCounter)");
        print("Obj.fromString: URL=$url normCoord.length = ${normCoord.length} (3 * $indexCounter)");
  
        int maxIndices = 100;
  
        print("Obj.fromString: URL=$url printing arrays only for objects with less than $maxIndices indices");
  
        if (indices.length < maxIndices) {
  