public static Namespace create(Object... parts) {
      Checks.notEmpty(parts, () -> "parts array must not be null or empty");
      Checks.containsNoNullElements(parts, () -> "individual parts must not be null: " + Arrays.toString(parts));
      return new Namespace(new ArrayList<>(Arrays.asList(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