private int updateEarlyWrapPoint(WrapItem firstItem, bool isArray) { for (int i=firstItem.getStartPos()-1;i>=0;i--) { char ch = mOutputBuffer[i]; if (!AntlrUtilities.isASWhitespace(ch) && ((isArray && ch!='{') || (!isArray && ch!='['))) { firstItem.setAlternateFirstItemWrapPoint(i); // firstItem.setStartPos(i); // firstItem.setNextItemPos(i); break; } } int alignmentOffset=1; //always 1 for the [ or { for (int i=firstItem.getStartPos()-1;i>=0;i--) { char ch = mOutputBuffer[i]; if (!AntlrUtilities.isASWhitespace(ch)) { int adjustedStartPos=i; if ((isArray && ch=='[') || (!isArray && ch=='{')) adjustedStartPos++; firstItem.setStartPos(adjustedStartPos); firstItem.setNextItemPos(adjustedStartPos); return alignmentOffset; } alignmentOffset++; //for additional spaces } return alignmentOffset; }