@Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      }
      if (o == null || getClass() != o.getClass()) {
        return false;
      }
      Namespace that = (Namespace) o;
      return this.parts.equals(that.parts);
    }
Create a namespace which restricts access to data to all extensions
which use the same sequence of {@code parts} for creating a namespace.
<p>
The order of the {@code parts} is significant.
<p>
Internally the {@code parts} are compared using {@link Object#equals(Object)}.
<p>
The parts should be valid keys for a map, that is they should be immutable,
or at least have a stable hash code and equality.

@since 2.4
spock-core/src/main/java/org/spockframework/runtime/extension/IStore.java