Program: 178720
Project: 178720
Buggy source:
@EventHandler() public void onBlockRedstoneChange(BlockRedstoneEvent event){
  Block block=event.getBlock();
  V10Location loc=new V10Location(block);
  Region region=plugin.regionManager.getRegion(loc);
  if (region.getBoolean(RegionSetting.INFINITE_DISPENSERS) && event.getNewCurrent() > 0) {
    Block poweredBlock=null;
    for (int i=0; i < 5; i++)     if (block.getRelative(BlockFace.values()[i]).getType() == Material.DISPENSER)     poweredBlock=block.getRelative(BlockFace.values()[i]);
    if (poweredBlock != null) {
      Dispenser dispenser=(Dispenser)poweredBlock.getState();
      ItemStack item=dispenser.getInventory().getItem(4);
      if (item != null && item.getType() != Material.AIR) {
        item.setAmount(item.getAmount() + 1);
        dispenser.getInventory().setItem(4,item);
      }
    }
  }
  if (region.getBoolean(RegionSetting.ENABLE_REDSTONE_TRANSFER)) {
    Location l=block.getLocation();
    BlockFace face;
    Block block2;
    for (int i=0; i < 5; i++) {
      face=BlockFace.values()[i];
      loc=new V10Location(new Location(l.getWorld(),l.getX() + face.getModX(),l.getY() + face.getModY(),l.getZ() + face.getModZ()));
      if (plugin.portalManager.insideBlocks.containsKey(loc)) {
        Portal portal=plugin.portalManager.insideBlocks.get(loc);
        if (!portal.open)         continue;
        Portal destination=portal.getDestination();
        if (destination == null || destination.transmitter)         continue;
        Material mat1, mat2;
        if (event.getNewCurrent() > 0) {
          portal.transmitter=true;
          mat1=Material.REDSTONE_TORCH_ON;
          mat2=Material.AIR;
        }
 else {
          portal.transmitter=false;
          mat1=Material.AIR;
          mat2=Material.REDSTONE_TORCH_ON;
        }
        for (        V10Location b : destination.inside) {
          block2=b.getHandle().getBlock();
          if (block2.getType() == mat2)           block2.setType(mat1);
        }
      }
    }
  }
  if (region.getBoolean(RegionSetting.ENABLE_GRILL_REDSTONE_DISABLING)) {
    Grill grill=null;
    for (int i=0; i < 5; i++) {
      if (grill == null) {
        grill=plugin.grillManager.borderBlocks.get(block.getRelative(BlockFace.values()[i]).getLocation());
        if (grill != null)         break;
      }
    }
    if (grill != null) {
      if (event.getNewCurrent() > 0)       grill.disable();
 else       grill.enable();
    }
  }
  if (region.getBoolean(RegionSetting.ENABLE_BRIDGE_REDSTONE_DISABLING) && block.getType() != Material.REDSTONE_TORCH_ON && block.getType() != Material.REDSTONE_TORCH_OFF) {
    Bridge bridge=null;
    Boolean cblock=false;
    for (int i=0; i < 5; i++) {
      if (bridge == null) {
        bridge=plugin.funnelBridgeManager.bridgeMachineBlocks.get(block.getRelative(BlockFace.values()[i]));
        if (bridge != null) {
          cblock=block.getRelative(BlockFace.values()[i]) == bridge.creationBlock;
          break;
        }
      }
    }
    if (bridge != null) {
      if (bridge instanceof Funnel && cblock) {
        ((Funnel)bridge).setReverse(event.getNewCurrent() > 0);
      }
 else {
        if (event.getNewCurrent() > 0)         bridge.deactivate();
 else         bridge.activate();
      }
    }
  }
  if (event.getOldCurrent() == 0 && event.getNewCurrent() > 0) {
    for (int i=0; i < 5; i++) {
      if (block.getRelative(BlockFace.values()[i]).getType() == Material.WOOL) {
        plugin.portalManager.tryPlacingAutomatedPortal(new V10Location(block.getRelative(BlockFace.values()[i])));
      }
    }
  }
}

Fixed version (ground truth):
@EventHandler() public void onBlockRedstoneChange(BlockRedstoneEvent event){
  if (event.getOldCurrent() == event.getNewCurrent())   return;
  Block block=event.getBlock();
  V10Location loc=new V10Location(block);
  Region region=plugin.regionManager.getRegion(loc);
  if (region.getBoolean(RegionSetting.ENABLE_REDSTONE_TRANSFER)) {
    Location l=block.getLocation();
    BlockFace face;
    Block block2;
    for (int i=0; i < 5; i++) {
      face=BlockFace.values()[i];
      loc=new V10Location(new Location(l.getWorld(),l.getX() + face.getModX(),l.getY() + face.getModY(),l.getZ() + face.getModZ()));
      if (plugin.portalManager.insideBlocks.containsKey(loc)) {
        Portal portal=plugin.portalManager.insideBlocks.get(loc);
        if (!portal.open)         continue;
        Portal destination=portal.getDestination();
        if (destination == null || destination.transmitter)         continue;
        Material mat1, mat2;
        if (event.getNewCurrent() > 0) {
          portal.transmitter=true;
          mat1=Material.REDSTONE_TORCH_ON;
          mat2=Material.AIR;
        }
 else {
          portal.transmitter=false;
          mat1=Material.AIR;
          mat2=Material.REDSTONE_TORCH_ON;
        }
        for (        V10Location b : destination.inside) {
          block2=b.getHandle().getBlock();
          if (block2.getType() == mat2)           block2.setType(mat1);
        }
      }
    }
  }
  if (region.getBoolean(RegionSetting.ENABLE_GRILL_REDSTONE_DISABLING)) {
    Grill grill=null;
    for (int i=0; i < 5; i++) {
      grill=plugin.grillManager.borderBlocks.get(new V10Location(block.getRelative(BlockFace.values()[i])));
      if (grill != null)       break;
    }
    if (grill != null) {
      if (event.getNewCurrent() > 0)       grill.disable();
 else       grill.enable();
    }
  }
  if (region.getBoolean(RegionSetting.ENABLE_BRIDGE_REDSTONE_DISABLING) && block.getType() != Material.REDSTONE_TORCH_ON && block.getType() != Material.REDSTONE_TORCH_OFF) {
    Bridge bridge=null;
    Boolean cblock=false;
    for (int i=0; i < 5; i++) {
      if (bridge == null) {
        bridge=plugin.funnelBridgeManager.bridgeMachineBlocks.get(block.getRelative(BlockFace.values()[i]));
        if (bridge != null) {
          cblock=block.getRelative(BlockFace.values()[i]) == bridge.creationBlock;
          break;
        }
      }
    }
    if (bridge != null) {
      if (bridge instanceof Funnel && cblock) {
        ((Funnel)bridge).setReverse(event.getNewCurrent() > 0);
      }
 else {
        if (event.getNewCurrent() > 0)         bridge.deactivate();
 else         bridge.activate();
      }
    }
  }
  if (event.getOldCurrent() == 0 && event.getNewCurrent() > 0) {
    for (int i=0; i < 5; i++) {
      if (block.getRelative(BlockFace.values()[i]).getType() == Material.WOOL) {
        plugin.portalManager.tryPlacingAutomatedPortal(new V10Location(block.getRelative(BlockFace.values()[i])));
      }
    }
  }
}