private String findRequestUri(Shape parentShape, Map<String, Shape> allC2jShapes) {
        return builder.getService().getOperations().values().stream()
                .filter(o -> o.getInput() != null)
                .filter(o -> allC2jShapes.get(o.getInput().getShape()).equals(parentShape))
                .map(o -> o.getHttp().getRequestUri())
                .findFirst().orElseThrow(() -> new RuntimeException("Could not find request URI for input shape"));
    }
private String findRequestUri ( Shape parentShape , Map < String , Shape > allC2jShapes ) { return builder . getService ( ) . getOperations ( ) . values ( ) . stream ( ) . filter ( o -> o . getInput ( ) != null ) . filter ( o -> allC2jShapes . get ( o . getInput ( ) . getShape ( ) ) . equals ( parentShape ) ) . map ( o -> o . getHttp ( ) . getRequestUri ( ) ) . findFirst ( ) . orElseThrow ( ( ) -> new RuntimeException ( "Could not find request URI for input shape" ) ) ; }
Given an input shape, finds the Request URI for the operation that input is referenced from.

@param parentShape  Input shape to find operation's request URI for.
@param allC2jShapes All shapes in the service model.
@return Request URI for operation.
@throws RuntimeException If operation can't be found.