code: protected ArtifactHandler getArtifactHandler() throws MojoExecutionException {
          final ArtifactHandlerBase.Builder builder;
  
          switch (this.getDeploymentType()) {
              case MSDEPLOY:
                  builder = new MSDeployArtifactHandlerImpl.Builder().functionAppName(this.getAppName());
                  break;
              case FTP:
                  builder = new FTPArtifactHandlerImpl.Builder();
                  break;
              case EMPTY:
              case ZIP:
                  builder = new ZIPArtifactHandlerImpl.Builder();
                  break;
              default:
                  throw new MojoExecutionException(
                      "The value of <deploymentType> is unknown, supported values are: ftp, zip and msdeploy.");
          }
          return builder.project(this.getProject())
              .session(this.getSession())
              .filtering(this.getMavenResourcesFiltering())
              .resources(this.getResources())
              .stagingDirectoryPath(this.getDeploymentStagingDirectoryPath())
              .buildDirectoryAbsolutePath(this.getBuildDirectoryAbsolutePath())
              .log(this.getLog())
              .build();
      }
docs: endregion