@Override
    public boolean equals(final Object obj) {
        if (this == obj) return true;
        if (obj == null) return false;
        if (this.getClass() != obj.getClass()) return false;
        final Region other = (Region) obj;
        if (this.name == null) {
            if (other.name != null) return false;
        } else if (!this.name.equals(other.name)) return false;
        if (this.world == null) {
            if (other.world != null) return false;
        } else if (!this.world.equals(other.world)) return false;
        return true;
    }