code: public void shape(char[] source, int start, int length) throws ArabicShapingException {
          if ((options & LAMALEF_MASK) == LAMALEF_RESIZE) {
              throw new ArabicShapingException("Cannot shape in place with length option resize.");
          }
          shape(source, start, length, source, start, length);
      }
docs: Convert a range of text in place.  This may only be used if the Length option
  does not grow or shrink the text.
  
  @param source An array containing the input text
  @param start The start of the range of text to convert
  @param length The length of the range of text to convert
  @throws ArabicShapingException if the text cannot be converted according to the options.