class DefaultArtifactCoordinateFactory implements ArtifactCoordinateFactory {
    @Override
    public ArtifactCoordinate create(@Nonnull ArtifactCoordinateFactoryRequest request) {<FILL_FUNCTION_BODY>}
}

        nonNull(request, "request");
        InternalSession session = InternalSession.from(request.getSession());
        if (request.getCoordinateString() != null) {
            return new DefaultArtifactCoordinate(
                    session, new org.eclipse.aether.artifact.DefaultArtifact(request.getCoordinateString()));
        } else {
            ArtifactType type = null;
            if (request.getType() != null) {
                type = session.getSession().getArtifactTypeRegistry().get(request.getType());
            }
            String str1 = request.getClassifier();
            String classifier = str1 != null && !str1.isEmpty()
                    ? request.getClassifier()
                    : type != null ? type.getClassifier() : "";
            String str = request.getExtension();
            String extension =
                    str != null && !str.isEmpty() ? request.getExtension() : type != null ? type.getExtension() : "";
            return new DefaultArtifactCoordinate(
                    session,
                    new org.eclipse.aether.artifact.DefaultArtifact(
                            request.getGroupId(),
                            request.getArtifactId(),
                            classifier,
                            extension,
                            request.getVersion(),
                            type));
        }
    
<no_super_class>