public static ShapeId fromRelative(String namespace, String relativeName) {
        Objects.requireNonNull(namespace, "Shape ID namespace must not be null");
        Objects.requireNonNull(relativeName, "Shape ID relative name must not be null");
        if (relativeName.contains("#")) {
            throw new ShapeIdSyntaxException("Relative shape ID must not contain a namespace: " + relativeName);
        }
        return from(namespace + "#" + relativeName);
    }
Builds a {@code Id} from a relative shape reference.

<p>The given shape reference must not contain a namespace prefix.
It may contain a member.

@param namespace The namespace.
@param relativeName A relative shape reference.
@return Returns a {@code Id} extracted from {@code relativeName}.
@throws ShapeIdSyntaxException when the namespace or shape reference
is malformed.
smithy-model/src/main/java/software/amazon/smithy/model/shapes/ShapeId.java