public Map<String, MemberShape> getInputMembers(ToShapeId operation) {
        return getInputShape(operation)
                .map(input -> input.getAllMembers())
                .orElse(Collections.emptyMap());
    }
Gets the input members of an operation as a map of member names
to {@link MemberShape}.

<p>The return map is ordered using the same order defined in
the model. If the operation has no input, an empty map is returned.

@param operation Operation to get the input members of.
@return Returns the map of members, or an empty map.
smithy-model/src/main/java/software/amazon/smithy/model/knowledge/OperationIndex.java