code: @Override
      public SWNativeAlignerResult align(byte[] refArray, byte[] altArray, SWParameters parameters, SWOverhangStrategy overhangStrategy)
      {
          int intStrategy =  getStrategy(overhangStrategy);
          byte[] cigar = new byte[2*Integer.max(refArray.length, altArray.length)];
  
          int offset = alignNative(refArray, altArray, cigar, parameters.getMatchValue(), parameters.getMismatchPenalty(), parameters.getGapOpenPenalty(), parameters.getGapExtendPenalty(), intStrategy);
  
          return new SWNativeAlignerResult(new String(cigar).trim(), offset);
      }
docs: Implements the native implementation of SmithWaterman, and returns the Cigar String and alignment_offset
  
  @param refArray array of reference data
  @param altArray array of alternate data