public TextBuffer pushNewlineGroup(int baseIndent, int extraIndent) {
    NewlineGroup group = new NewlineGroup(myCurrentGroup, myStringBuilder.length(), baseIndent, extraIndent);
    myCurrentGroup.myChildren.add(group);
    myCurrentGroup = group;
    return this;
  }
Pushes a newline group.
<p>
{@link #appendPossibleNewline} normally works like append, adding its string argument to the buffer. However, if
the line is running out of space, this text may later be replaced with a newline (plus indents).
Possible newlines are grouped into newline groups. In a newline group, either none of the replacements are replaced
with newlines, or all of them are (never only some of them). Possible newlines should not be added outside a group.
The API works as if there were a stack of newline groups. This method pushes to the stack and
{@link #popNewlineGroup()} pops from it. After the full source code has been generated, {@link #reformat()} is
called to actually substitute the text.

@param baseIndent The indent that has already been explicitly applied
@param extraIndent The indent to be added if this group is applied
src/org/jetbrains/java/decompiler/util/TextBuffer.java