docs: public void deploy(DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException {
      final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit();    
      final EEModuleDescription eeModuleDescription = deploymentUnit.getAttachment(Attachments.EE_MODULE_DESCRIPTION);
      
      // must be EE Module
      if(eeModuleDescription == null) {
        return;
      }
  
      // discover user-provided component
      ComponentDescription paComponent = detectExistingComponent(deploymentUnit); 
  
      if(paComponent != null) {      
        log.log(Level.INFO, "Detected user-provided @"+ProcessApplication.class.getSimpleName()+" component with name '"+paComponent.getComponentName()+"'.");
        
        // mark this to be a process application
        ProcessApplicationAttachments.attachProcessApplicationComponent(deploymentUnit, paComponent);
        ProcessApplicationAttachments.mark(deploymentUnit);
        ProcessApplicationAttachments.markPartOfProcessApplication(deploymentUnit);
      }
    }