StringSubstitutionException extends RuntimeException { public final StringSubstitutionException extend(String field) { return extend(field, false); } private  StringSubstitutionException(
            Throwable cause,
            String value,
            StringBuilder fieldBuilder,
            boolean lastExtensionWasArrayIndex);  StringSubstitutionException(Throwable cause, String value); final StringSubstitutionException extend(String field); final StringSubstitutionException extend(int arrayIndex); final String getField(); final String getValue();  }
@Test public final void testSingleExtendField() { StringSubstitutionException exception = new StringSubstitutionException(cause, VALUE); assertException(exception.extend("field1"), "field1"); }
@Test public final void testDoubleExtendField() { StringSubstitutionException exception = new StringSubstitutionException(cause, VALUE); assertException(exception.extend("field1").extend("field2"), "field2.field1"); }
@Test public final void testSingleExtendArray() { StringSubstitutionException exception = new StringSubstitutionException(cause, VALUE); assertException(exception.extend(1), "[1]"); }
@Test public final void testDoubleExtendArray() { StringSubstitutionException exception = new StringSubstitutionException(cause, VALUE); assertException(exception.extend(1).extend(2), "[2][1]"); }
@Test public final void testSingleExtendArrayAndField() { StringSubstitutionException exception = new StringSubstitutionException(cause, VALUE); assertException(exception.extend(1).extend("field"), "field[1]"); }
@Test public final void testSingleExtendArrayAndDoubleField() { StringSubstitutionException exception = new StringSubstitutionException(cause, VALUE); assertException(exception.extend(1).extend("field1").extend("field2"), "field2.field1[1]"); }
@Test public final void testSingleExtendArrayBetweenDoubleField() { StringSubstitutionException exception = new StringSubstitutionException(cause, VALUE); assertException(exception.extend("field1").extend(1).extend("field2"), "field2[1].field1"); }