class DefaultArtifactDeployer implements ArtifactDeployer {

    @Override
    public void deploy(@Nonnull ArtifactDeployerRequest request) {<FILL_FUNCTION_BODY>}
}

        nonNull(request, "request");
        InternalSession session = InternalSession.from(request.getSession());
        Collection<Artifact> artifacts = nonNull(request.getArtifacts(), "request.artifacts");
        RemoteRepository repository = nonNull(request.getRepository(), "request.repository");
        try {
            DeployRequest deployRequest = new DeployRequest()
                    .setRepository(session.toRepository(repository))
                    .setArtifacts(session.toArtifacts(artifacts));

            DeployResult result = session.getRepositorySystem().deploy(session.getSession(), deployRequest);
        } catch (DeploymentException e) {
            throw new ArtifactDeployerException("Unable to deploy artifacts", e);
        }
    
<no_super_class>