code: public void init( File workDirectory, boolean verbose, SignTool signTool, SecDispatcher securityDispatcher,
                        ClassLoader classLoader )
              throws MojoExecutionException
      {
          this.workDirectory = workDirectory;
          this.securityDispatcher = securityDispatcher;
          setVerbose( verbose );
  
          if ( workingKeystore == null )
          {
              // use a default workingKeystore file
              workingKeystore = new File( workDirectory, "workingKeystore" );
          }
  
          if ( keystoreConfig != null && keystoreConfig.isGen() )
          {
              File keystoreFile = new File( getKeystore() );
  
              if ( keystoreConfig.isDelete() )
              {
                  signTool.deleteKeyStore( keystoreFile, isVerbose() );
              }
  
              signTool.generateKey( this, keystoreFile );
          }
          else
          {
              // try to locate key store from any location
              File keystoreFile = signTool.getKeyStoreFile( getKeystore(), workingKeystore, classLoader );
  
  
              if( !keystore.equals("NONE") )
              {
                  // now we will use this key store path
                  setKeystore(keystoreFile.getAbsolutePath());
              }
          }
  
          // at the end keystore file must exists
          File keystoreFile = new File( getKeystore() );
  
          if( !keystore.equals("NONE") )
  	{
              if (!keystoreFile.exists())
  	    {
                  throw new MojoExecutionException("Could not obtain key store location at " + keystore);
              }
          }
  
          // reset arguments
          arguments = new ArrayList<>();
  
          generateArguments();
      }
docs: Called before any Jars get signed or verified.
  <p>
  This method allows you to create any keys or perform any initialisation that the
  method of signature that you're implementing requires.
  
  @param workDirectory      working directory
  @param verbose            verbose flag coming from the mojo configuration
  @param signTool           the sign tool used eventually to create or delete key store
  @param securityDispatcher component to decrypt a string, passed to it
  @param classLoader        classloader where to find keystore (if not generating a new one)
  @throws MojoExecutionException if something wrong occurs while init (mainly when preparing keys)