public ArenaRegion newRegion(
      String name, Arena arena, Location pos1, Location pos2, RegionShape shape) {
    for (ArenaRegion region : regions) {
      if (region.getShape().equals(shape)) {
        ArenaRegion result = region.clone();
        result.name = name;
        result.min = pos1.toVector();
        result.max = pos2.toVector();
        result.arena = arena;
        result.world = pos1.getWorld();

        setRegionTypeByName(result, name);

        result.initialize();
        return result;
      }
    }
    return null;
  }