public Namespace append(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));
      ArrayList<Object> newParts = new ArrayList<>(this.parts.size() + parts.length);
      newParts.addAll(this.parts);
      Collections.addAll(newParts, parts);
      return new Namespace(newParts);
    }
Create a new namespace by appending the supplied {@code parts} to the
existing sequence of parts in this namespace.

@return new namespace; never {@code null}
@since 2.4
spock-core/src/main/java/org/spockframework/runtime/extension/IStore.java