Program: 141584
Project: 141584
Buggy source:
@SuppressWarnings("String_Node_Str") public static Inventory convertStringToInventory(String invString,String name){
  String[] serializedBlocks=invString.split("String_Node_Str");
  String invInfo=serializedBlocks[0];
  Inventory deserializedInventory=Bukkit.getServer().createInventory(null,Integer.valueOf(invInfo),name);
  for (int i=1; i < serializedBlocks.length; i++) {
    String[] serializedBlock=serializedBlocks[i].split("String_Node_Str");
    int stackPosition=Integer.valueOf(serializedBlock[0]);
    if (stackPosition >= deserializedInventory.getSize()) {
      continue;
    }
    ItemStack is=null;
    Boolean createdItemStack=false;
    String[] serializedItemStack=serializedBlock[1].split("String_Node_Str");
    for (    String itemInfo : serializedItemStack) {
      String[] itemAttribute=itemInfo.split("String_Node_Str");
      if (itemAttribute[0].equals("String_Node_Str")) {
        is=new ItemStack(Material.getMaterial(Integer.valueOf(itemAttribute[1])));
        createdItemStack=true;
      }
 else       if (itemAttribute[0].equals("String_Node_Str") && createdItemStack) {
        is.setDurability(Short.valueOf(itemAttribute[1]));
      }
 else       if (itemAttribute[0].equals("String_Node_Str") && createdItemStack) {
        is.setAmount(Integer.valueOf(itemAttribute[1]));
      }
 else       if (itemAttribute[0].equals("String_Node_Str") && createdItemStack) {
        is.addEnchantment(Enchantment.getById(Integer.valueOf(itemAttribute[1])),Integer.valueOf(itemAttribute[2]));
      }
    }
    deserializedInventory.setItem(stackPosition,is);
  }
  return deserializedInventory;
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public static Inventory convertStringToInventory(String invString,String name){
  String[] serializedBlocks=invString.split("String_Node_Str");
  String invInfo=serializedBlocks[0];
  Inventory deserializedInventory=Bukkit.getServer().createInventory(null,Integer.valueOf(invInfo),name.substring(0,31));
  for (int i=1; i < serializedBlocks.length; i++) {
    String[] serializedBlock=serializedBlocks[i].split("String_Node_Str");
    int stackPosition=Integer.valueOf(serializedBlock[0]);
    if (stackPosition >= deserializedInventory.getSize()) {
      continue;
    }
    ItemStack is=null;
    Boolean createdItemStack=false;
    String[] serializedItemStack=serializedBlock[1].split("String_Node_Str");
    for (    String itemInfo : serializedItemStack) {
      String[] itemAttribute=itemInfo.split("String_Node_Str");
      if (itemAttribute[0].equals("String_Node_Str")) {
        is=new ItemStack(Material.getMaterial(Integer.valueOf(itemAttribute[1])));
        createdItemStack=true;
      }
 else       if (itemAttribute[0].equals("String_Node_Str") && createdItemStack) {
        is.setDurability(Short.valueOf(itemAttribute[1]));
      }
 else       if (itemAttribute[0].equals("String_Node_Str") && createdItemStack) {
        is.setAmount(Integer.valueOf(itemAttribute[1]));
      }
 else       if (itemAttribute[0].equals("String_Node_Str") && createdItemStack) {
        is.addEnchantment(Enchantment.getById(Integer.valueOf(itemAttribute[1])),Integer.valueOf(itemAttribute[2]));
      }
    }
    deserializedInventory.setItem(stackPosition,is);
  }
  return deserializedInventory;
}