code: public static AEADBlockCipher getNewCipher(Mode blockMode) {
  
          AESEngine aesEngine = new AESEngine();
  
          switch (blockMode) {
  
          case GCM:
              return new GCMBlockCipher(aesEngine);
          default:
              throw new RuntimeException("Block cipher not found");
          }
      }
docs: Retrieve a new instance of the block mode provided
  @param blockMode block mode name
  @return instance to the block mode