private List<Line> parseTraitBeforeShape(SourceLocation location, Shape targetShape) {
        List<Line> result = new ArrayList<>(2);
        addLineIfValid(location.getLine(), result);
        addLineIfValid(targetShape.getSourceLocation().getLine(), result);
        return result;
    }
This class loads model files into memory, one at a time, and either shows leading lines up to a source location or
shows lines that are relevant to a source location use context from a {@link Model}.

<p>Sort sequences of {@link SourceLocation}s before calling {@link #loadContext(FromSourceLocation)} to avoid
needing to open and parse the same file more than once.

@see SourceContextLoader#createLineBasedLoader
@see SourceContextLoader#createModelAwareLoader
smithy-model/src/main/java/software/amazon/smithy/model/loader/sourcecontext/DefaultSourceLoader.java