Program: 178711
Project: 178711
Buggy source:
public void create(){
  byte color;
  if (orange)   color=(byte)plugin.util.getRightPortalColor(owner.colorPreset);
 else   color=(byte)plugin.util.getLeftPortalColor(owner.colorPreset);
  Block rb;
  for (  V10Location loc : border) {
    if (plugin.portalManager.borderBlocks.containsKey(loc))     plugin.portalManager.borderBlocks.get(loc).delete();
    if (plugin.portalManager.insideBlocks.containsKey(loc))     plugin.portalManager.insideBlocks.get(loc).delete();
    if (plugin.portalManager.behindBlocks.containsKey(loc))     plugin.portalManager.behindBlocks.get(loc).delete();
    rb=loc.getHandle().getBlock();
    oldBlocks.put(loc,plugin.blockUtil.getBlockData(rb));
    rb.setType(Material.WOOL);
    rb.setData(color);
    plugin.portalManager.borderBlocks.put(loc,this);
  }
  for (  V10Location loc : inside) {
    rb=loc.getHandle().getBlock();
    oldBlocks.put(loc,plugin.blockUtil.getBlockData(rb));
  }
  if (plugin.config.FillPortalBack > -1) {
    for (    V10Location loc : behind) {
      if (plugin.portalManager.borderBlocks.containsKey(loc))       plugin.portalManager.borderBlocks.get(loc).delete();
      if (plugin.portalManager.insideBlocks.containsKey(loc))       plugin.portalManager.insideBlocks.get(loc).delete();
      if (plugin.portalManager.behindBlocks.containsKey(loc))       plugin.portalManager.behindBlocks.get(loc).delete();
      rb=loc.getHandle().getBlock();
      oldBlocks.put(loc,plugin.blockUtil.getBlockData(rb));
      if (plugin.config.CompactPortal) {
        rb.setType(Material.WOOL);
        rb.setData(color);
      }
 else {
        rb.setTypeId(plugin.config.FillPortalBack);
      }
      plugin.portalManager.behindBlocks.put(loc,this);
    }
  }
  if (getDestination() == null)   close();
 else {
    open();
    if (getDestination().isRegionPortal())     plugin.regionManager.getRegion(centerBlock).regionPortalOpened(orange);
 else     getDestination().open();
  }
  if (isRegionPortal())   plugin.regionManager.getRegion(centerBlock).regionPortalCreated(orange);
  for (  V10Location loc : inside) {
    plugin.portalManager.insideBlocks.put(loc,this);
    for (int x=-2; x < 3; x++) {
      for (int y=-2; y < 3; y++) {
        for (int z=-2; z < 3; z++) {
          loc=new V10Location(loc.world,loc.x + x,loc.y + y,loc.z + z);
          plugin.portalManager.awayBlocksGeneral.put(loc,this);
          awayBlocks.add(loc);
        }
      }
    }
    for (int y=-2; y < 3; y++) {
      for (int z=-2; z < 3; z++) {
        loc=new V10Location(loc.world,loc.x + 3,loc.y + y,loc.z + z);
        plugin.portalManager.awayBlocksX.put(loc,this);
        awayBlocks.add(loc);
        loc=new V10Location(loc.world,loc.x + -3,loc.y + y,loc.z + z);
        plugin.portalManager.awayBlocksX.put(loc,this);
        awayBlocks.add(loc);
      }
    }
    for (int x=-2; x < 3; x++) {
      for (int z=-2; z < 3; z++) {
        loc=new V10Location(loc.world,loc.x + x,loc.y + 3,loc.z + z);
        plugin.portalManager.awayBlocksY.put(loc,this);
        awayBlocks.add(loc);
        loc=new V10Location(loc.world,loc.x + x,loc.y + 3,loc.z + z);
        plugin.portalManager.awayBlocksY.put(loc,this);
        awayBlocks.add(loc);
      }
    }
    for (int x=-2; x < 3; x++) {
      for (int y=-2; y < 3; y++) {
        loc=new V10Location(loc.world,loc.x + x,loc.y + y,loc.z + 3);
        plugin.portalManager.awayBlocksZ.put(loc,this);
        awayBlocks.add(loc);
        loc=new V10Location(loc.world,loc.x + x,loc.y + y,loc.z + 3);
        plugin.portalManager.awayBlocksZ.put(loc,this);
        awayBlocks.add(loc);
      }
    }
  }
}

Fixed version (ground truth):
public void create(){
  byte color;
  if (orange)   color=(byte)plugin.util.getRightPortalColor(owner.colorPreset);
 else   color=(byte)plugin.util.getLeftPortalColor(owner.colorPreset);
  Block rb;
  for (  V10Location loc : border) {
    if (plugin.portalManager.insideBlocks.containsKey(loc))     plugin.portalManager.insideBlocks.get(loc).delete();
    if (plugin.portalManager.behindBlocks.containsKey(loc))     plugin.portalManager.behindBlocks.get(loc).delete();
    rb=loc.getHandle().getBlock();
    oldBlocks.put(loc,plugin.blockUtil.getBlockData(rb));
    rb.setType(Material.WOOL);
    rb.setData(color);
    plugin.portalManager.borderBlocks.put(loc,this);
  }
  for (  V10Location loc : inside) {
    rb=loc.getHandle().getBlock();
    oldBlocks.put(loc,plugin.blockUtil.getBlockData(rb));
  }
  if (plugin.config.FillPortalBack > -1) {
    for (    V10Location loc : behind) {
      if (plugin.portalManager.borderBlocks.containsKey(loc))       plugin.portalManager.borderBlocks.get(loc).delete();
      if (plugin.portalManager.insideBlocks.containsKey(loc))       plugin.portalManager.insideBlocks.get(loc).delete();
      rb=loc.getHandle().getBlock();
      oldBlocks.put(loc,plugin.blockUtil.getBlockData(rb));
      if (plugin.config.CompactPortal) {
        rb.setType(Material.WOOL);
        rb.setData(color);
      }
 else {
        rb.setTypeId(plugin.config.FillPortalBack);
      }
      plugin.portalManager.behindBlocks.put(loc,this);
    }
  }
  if (getDestination() == null)   close();
 else {
    open();
    if (getDestination().isRegionPortal())     plugin.regionManager.getRegion(centerBlock).regionPortalOpened(orange);
 else     getDestination().open();
  }
  if (isRegionPortal())   plugin.regionManager.getRegion(centerBlock).regionPortalCreated(orange);
  for (  V10Location loc : inside) {
    plugin.portalManager.insideBlocks.put(loc,this);
    for (int x=-2; x < 3; x++) {
      for (int y=-2; y < 3; y++) {
        for (int z=-2; z < 3; z++) {
          loc=new V10Location(loc.world,loc.x + x,loc.y + y,loc.z + z);
          plugin.portalManager.awayBlocksGeneral.put(loc,this);
          awayBlocks.add(loc);
        }
      }
    }
    for (int y=-2; y < 3; y++) {
      for (int z=-2; z < 3; z++) {
        loc=new V10Location(loc.world,loc.x + 3,loc.y + y,loc.z + z);
        plugin.portalManager.awayBlocksX.put(loc,this);
        awayBlocks.add(loc);
        loc=new V10Location(loc.world,loc.x + -3,loc.y + y,loc.z + z);
        plugin.portalManager.awayBlocksX.put(loc,this);
        awayBlocks.add(loc);
      }
    }
    for (int x=-2; x < 3; x++) {
      for (int z=-2; z < 3; z++) {
        loc=new V10Location(loc.world,loc.x + x,loc.y + 3,loc.z + z);
        plugin.portalManager.awayBlocksY.put(loc,this);
        awayBlocks.add(loc);
        loc=new V10Location(loc.world,loc.x + x,loc.y + 3,loc.z + z);
        plugin.portalManager.awayBlocksY.put(loc,this);
        awayBlocks.add(loc);
      }
    }
    for (int x=-2; x < 3; x++) {
      for (int y=-2; y < 3; y++) {
        loc=new V10Location(loc.world,loc.x + x,loc.y + y,loc.z + 3);
        plugin.portalManager.awayBlocksZ.put(loc,this);
        awayBlocks.add(loc);
        loc=new V10Location(loc.world,loc.x + x,loc.y + y,loc.z + 3);
        plugin.portalManager.awayBlocksZ.put(loc,this);
        awayBlocks.add(loc);
      }
    }
  }
}