Program: 7535
Project: 7535
Buggy source:
public boolean onCommand(CommandSender sender,Command command,String commandLabel,String[] args){
  Player player=null;
  String commandName=command.getName();
  if (sender instanceof Player) {
    player=(Player)sender;
  }
 else {
    log.info("String_Node_Str");
    return false;
  }
  Animator animator=getAnimator(player.getName());
  if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (animator.hasOpenAnimation()) {
      player.sendMessage("String_Node_Str");
    }
 else {
      if (args.length == 1) {
        Animation animation=getAnimation(args[0]);
        if (animation == null) {
          createNewAnimation(args[0],player);
          player.sendMessage("String_Node_Str");
        }
 else {
          player.sendMessage("String_Node_Str");
        }
      }
 else {
        player.sendMessage("String_Node_Str");
      }
    }
    return true;
  }
 else   if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (!animator.hasOpenAnimation()) {
      player.sendMessage("String_Node_Str");
    }
 else {
      animator.closeAnimation();
      player.sendMessage("String_Node_Str");
    }
    return true;
  }
 else   if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (animator.hasOpenAnimation()) {
      player.sendMessage("String_Node_Str");
    }
 else {
      if (args.length == 1) {
        Animation animation=getAnimation(args[0]);
        if (animation != null) {
          animator.openAnimation(animation);
          player.sendMessage("String_Node_Str");
        }
 else {
          player.sendMessage("String_Node_Str");
        }
      }
 else {
        player.sendMessage("String_Node_Str");
      }
    }
    return true;
  }
 else   if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (animator.hasOpenAnimation()) {
      Animation open_anime=animator.getOpenAnimation();
      if (!open_anime.isAreaSet()) {
        if (animator.locationsSet()) {
          Area area=new Area(this,player.getWorld(),animator.getLoc1(),animator.getLoc2());
          open_anime.setArea(area);
          player.sendMessage("String_Node_Str" + area.get_blocks().size());
        }
 else {
          player.sendMessage("String_Node_Str");
        }
      }
 else {
        player.sendMessage("String_Node_Str");
      }
    }
 else {
      player.sendMessage("String_Node_Str");
    }
    return true;
  }
 else   if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (animator.hasOpenAnimation()) {
      Animation open_anime=animator.getOpenAnimation();
      if (open_anime.isAreaSet()) {
        frameset this_frameset=open_anime.getFrames();
        if (this_frameset.frames.size() == 0) {
          Hashtable<Integer,Block> blocks=new Hashtable<Integer,Block>();
          for (          Location location : open_anime.getArea().get_blocks()) {
            blocks.put(blocks.size(),this_frameset.this_world.getBlockAt(location));
          }
          this_frameset.add_frame(blocks);
          open_anime.setLastFrameBytes(this_frameset.frames.get((this_frameset.frames.size() - 1)).frame_blocks_data);
          open_anime.setLastFrameTypes(this_frameset.frames.get((this_frameset.frames.size() - 1)).frame_blocks_type);
          player.sendMessage("String_Node_Str" + blocks.size() + "String_Node_Str"+ this_frameset.frames.size());
        }
 else {
          Hashtable<Integer,Block> blocks=new Hashtable<Integer,Block>();
          Map<Location,Material> jprevtype=open_anime.getLastFrameTypes();
          Map<Location,Byte> jprevbyte=open_anime.getLastFrameBytes();
          for (          Location location : open_anime.getArea().get_blocks()) {
            if (this_frameset.this_world.getBlockAt(location).getType() != jprevtype.get(location)) {
              blocks.put(blocks.size(),this_frameset.this_world.getBlockAt(location));
              jprevtype.put(location,this_frameset.this_world.getBlockAt(location).getType());
              jprevbyte.put(location,this_frameset.this_world.getBlockAt(location).getData());
            }
 else             if (this_frameset.this_world.getBlockAt(location).getData() != jprevbyte.get(location)) {
              blocks.put(blocks.size(),this_frameset.this_world.getBlockAt(location));
              jprevbyte.put(location,this_frameset.this_world.getBlockAt(location).getData());
            }
          }
          this_frameset.add_frame(blocks);
          open_anime.setLastFrameBytes(jprevbyte);
          open_anime.setLastFrameTypes(jprevtype);
          player.sendMessage("String_Node_Str" + blocks.size() + "String_Node_Str"+ this_frameset.frames.size());
        }
      }
 else {
        player.sendMessage("String_Node_Str");
      }
    }
 else {
      player.sendMessage("String_Node_Str");
    }
    return true;
  }
 else   if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (animator.hasOpenAnimation()) {
      Animation open_anime=animator.getOpenAnimation();
      if (open_anime.isAreaSet()) {
        if (!open_anime.isPlaying()) {
          Thread animation_player=null;
          if (args.length == 1) {
            if (args[0].equalsIgnoreCase("String_Node_Str")) {
              open_anime.setRepeat(true);
              animation_player=new play(this,open_anime);
            }
 else {
              open_anime.setRepeat(false);
              animation_player=new play(this,open_anime,Integer.valueOf(args[0]));
            }
          }
 else           if (args.length == 2) {
            if (args[1].equalsIgnoreCase("String_Node_Str")) {
              open_anime.setRepeat(true);
            }
            animation_player=new play(this,open_anime,Integer.valueOf(args[0]));
          }
 else {
            open_anime.setRepeat(false);
            animation_player=new play(this,open_anime);
          }
          animation_player.start();
          player.sendMessage("String_Node_Str");
        }
 else {
          player.sendMessage("String_Node_Str");
        }
      }
 else {
        player.sendMessage("String_Node_Str");
      }
    }
 else {
      player.sendMessage("String_Node_Str");
    }
    return true;
  }
 else   if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (animator.hasOpenAnimation()) {
      Animation open_anime=animator.getOpenAnimation();
      if (open_anime.isAreaSet()) {
        if (open_anime.isPlaying()) {
          if (open_anime.isRepeat()) {
            player.sendMessage("String_Node_Str");
            open_anime.setRepeat(false);
          }
 else {
            player.sendMessage("String_Node_Str");
          }
        }
 else {
          player.sendMessage("String_Node_Str");
        }
      }
 else {
        player.sendMessage("String_Node_Str");
      }
    }
 else {
      player.sendMessage("String_Node_Str");
    }
    return true;
  }
 else   if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (animator.hasOpenAnimation()) {
      Animation open_anime=animator.getOpenAnimation();
      if (open_anime.isAreaSet()) {
        if (args.length == 1) {
          if (args[0].equalsIgnoreCase("String_Node_Str")) {
            frameset g=open_anime.getFrames();
            Integer hi=0;
            while (hi < g.frames.size()) {
              g.gt(hi);
              hi++;
            }
            player.sendMessage("String_Node_Str" + g.frames.size() + "String_Node_Str");
          }
 else           if (args[0].equalsIgnoreCase("String_Node_Str")) {
            frameset g=open_anime.getFrames();
            g.gt(0);
            player.sendMessage("String_Node_Str");
          }
 else           if (is_integer(args[0])) {
            frameset g=open_anime.getFrames();
            if (g.frames.size() >= Integer.valueOf(args[0])) {
              Integer hi=0;
              while (hi < Integer.valueOf(args[0])) {
                g.gt(hi);
                hi++;
              }
              player.sendMessage("String_Node_Str" + (Integer.valueOf(args[0]) + 1) + "String_Node_Str");
            }
 else {
              player.sendMessage("String_Node_Str");
            }
          }
 else {
            player.sendMessage("String_Node_Str");
          }
        }
 else {
          player.sendMessage("String_Node_Str");
        }
      }
 else {
        player.sendMessage("String_Node_Str");
      }
    }
 else {
      player.sendMessage("String_Node_Str");
    }
    return true;
  }
  return false;
}

Fixed version (ground truth):
public boolean onCommand(CommandSender sender,Command command,String commandLabel,String[] args){
  Player player=null;
  String commandName=command.getName();
  if (sender instanceof Player) {
    player=(Player)sender;
  }
 else {
    log.info("String_Node_Str");
    return false;
  }
  Animator animator=getAnimator(player.getName());
  if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (animator.hasOpenAnimation()) {
      player.sendMessage("String_Node_Str");
    }
 else {
      if (args.length == 1) {
        Animation animation=getAnimation(args[0]);
        if (animation == null) {
          createNewAnimation(args[0],player);
          player.sendMessage("String_Node_Str");
        }
 else {
          player.sendMessage("String_Node_Str");
        }
      }
 else {
        player.sendMessage("String_Node_Str");
      }
    }
    return true;
  }
 else   if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (!animator.hasOpenAnimation()) {
      player.sendMessage("String_Node_Str");
    }
 else {
      animator.closeAnimation();
      player.sendMessage("String_Node_Str");
    }
    return true;
  }
 else   if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (animator.hasOpenAnimation()) {
      player.sendMessage("String_Node_Str");
    }
 else {
      if (args.length == 1) {
        Animation animation=getAnimation(args[0]);
        if (animation != null) {
          animator.openAnimation(animation);
          player.sendMessage("String_Node_Str");
        }
 else {
          player.sendMessage("String_Node_Str");
        }
      }
 else {
        player.sendMessage("String_Node_Str");
      }
    }
    return true;
  }
 else   if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (animator.hasOpenAnimation()) {
      Animation open_anime=animator.getOpenAnimation();
      if (!open_anime.isAreaSet()) {
        if (animator.locationsSet()) {
          Area area=new Area(this,player.getWorld(),animator.getLoc1(),animator.getLoc2());
          open_anime.setArea(area);
          player.sendMessage("String_Node_Str" + area.get_blocks().size());
        }
 else {
          player.sendMessage("String_Node_Str");
        }
      }
 else {
        player.sendMessage("String_Node_Str");
      }
    }
 else {
      player.sendMessage("String_Node_Str");
    }
    return true;
  }
 else   if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (animator.hasOpenAnimation()) {
      Animation open_anime=animator.getOpenAnimation();
      if (open_anime.isAreaSet()) {
        frameset this_frameset=open_anime.getFrames();
        if (this_frameset.frames.size() == 0) {
          Hashtable<Integer,Block> blocks=new Hashtable<Integer,Block>();
          for (          Location location : open_anime.getArea().get_blocks()) {
            blocks.put(blocks.size(),this_frameset.this_world.getBlockAt(location));
          }
          this_frameset.add_frame(blocks);
          player.sendMessage("String_Node_Str" + blocks.size() + "String_Node_Str"+ this_frameset.frames.size());
        }
 else {
          Hashtable<Integer,Block> blocks=new Hashtable<Integer,Block>();
          Map<Location,Material> jprevtype=this_frameset.frames.get((this_frameset.frames.size() - 1)).frame_blocks_type;
          Map<Location,Byte> jprevbyte=this_frameset.frames.get((this_frameset.frames.size() - 1)).frame_blocks_data;
          for (          Location location : open_anime.getArea().get_blocks()) {
            if (this_frameset.this_world.getBlockAt(location).getType() != jprevtype.get(location)) {
              blocks.put(blocks.size(),this_frameset.this_world.getBlockAt(location));
            }
 else             if (this_frameset.this_world.getBlockAt(location).getData() != jprevbyte.get(location)) {
              blocks.put(blocks.size(),this_frameset.this_world.getBlockAt(location));
            }
          }
          this_frameset.add_frame(blocks);
          player.sendMessage("String_Node_Str" + blocks.size() + "String_Node_Str"+ this_frameset.frames.size());
        }
      }
 else {
        player.sendMessage("String_Node_Str");
      }
    }
 else {
      player.sendMessage("String_Node_Str");
    }
    return true;
  }
 else   if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (animator.hasOpenAnimation()) {
      Animation open_anime=animator.getOpenAnimation();
      if (open_anime.isAreaSet()) {
        if (!open_anime.isPlaying()) {
          Thread animation_player=null;
          if (args.length == 1) {
            if (args[0].equalsIgnoreCase("String_Node_Str")) {
              open_anime.setRepeat(true);
              animation_player=new play(this,open_anime);
            }
 else {
              open_anime.setRepeat(false);
              animation_player=new play(this,open_anime,Integer.valueOf(args[0]));
            }
          }
 else           if (args.length == 2) {
            if (args[1].equalsIgnoreCase("String_Node_Str")) {
              open_anime.setRepeat(true);
            }
            animation_player=new play(this,open_anime,Integer.valueOf(args[0]));
          }
 else {
            open_anime.setRepeat(false);
            animation_player=new play(this,open_anime);
          }
          animation_player.start();
          player.sendMessage("String_Node_Str");
        }
 else {
          player.sendMessage("String_Node_Str");
        }
      }
 else {
        player.sendMessage("String_Node_Str");
      }
    }
 else {
      player.sendMessage("String_Node_Str");
    }
    return true;
  }
 else   if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (animator.hasOpenAnimation()) {
      Animation open_anime=animator.getOpenAnimation();
      if (open_anime.isAreaSet()) {
        if (open_anime.isPlaying()) {
          if (open_anime.isRepeat()) {
            player.sendMessage("String_Node_Str");
            open_anime.setRepeat(false);
          }
 else {
            player.sendMessage("String_Node_Str");
          }
        }
 else {
          player.sendMessage("String_Node_Str");
        }
      }
 else {
        player.sendMessage("String_Node_Str");
      }
    }
 else {
      player.sendMessage("String_Node_Str");
    }
    return true;
  }
 else   if (commandName.equalsIgnoreCase("String_Node_Str")) {
    if (animator.hasOpenAnimation()) {
      Animation open_anime=animator.getOpenAnimation();
      if (open_anime.isAreaSet()) {
        if (args.length == 1) {
          if (args[0].equalsIgnoreCase("String_Node_Str")) {
            frameset g=open_anime.getFrames();
            Integer hi=0;
            while (hi < g.frames.size()) {
              g.gt(hi);
              hi++;
            }
            player.sendMessage("String_Node_Str" + g.frames.size() + "String_Node_Str");
          }
 else           if (args[0].equalsIgnoreCase("String_Node_Str")) {
            frameset g=open_anime.getFrames();
            g.gt(0);
            player.sendMessage("String_Node_Str");
          }
 else           if (is_integer(args[0])) {
            frameset g=open_anime.getFrames();
            if (g.frames.size() >= Integer.valueOf(args[0])) {
              Integer hi=0;
              while (hi < Integer.valueOf(args[0])) {
                g.gt(hi);
                hi++;
              }
              player.sendMessage("String_Node_Str" + (Integer.valueOf(args[0]) + 1) + "String_Node_Str");
            }
 else {
              player.sendMessage("String_Node_Str");
            }
          }
 else {
            player.sendMessage("String_Node_Str");
          }
        }
 else {
          player.sendMessage("String_Node_Str");
        }
      }
 else {
        player.sendMessage("String_Node_Str");
      }
    }
 else {
      player.sendMessage("String_Node_Str");
    }
    return true;
  }
  return false;
}