public void printRegion(int indent, String line) {
			if (options == IMPL_PAREN) {
				pw.print("(");
				indent++;
			}

			Enumeration enum_ = childBPs.elements();
			int cur = startPos;
			BreakPoint child = (BreakPoint) enum_.nextElement();
			if (child.startPos >= 0) {
				pw.print(line.substring(cur, child.startPos));
				child.printRegion(indent + child.startPos - cur, line);
				cur = child.endPos;
			}
			if (options == NO_PAREN)
				indent += indentsize;
			String indentStr = makeIndentStr(indent);
			while (enum_.hasMoreElements()) {
				child = (BreakPoint) enum_.nextElement();
				pw.print(line.substring(cur, child.breakPos));
				pw.println();
				pw.print(indentStr);
				cur = child.breakPos;
				if (cur < endPos && line.charAt(cur) == ' ')
					cur++;
				if (child.startPos >= 0) {
					pw.print(line.substring(cur, child.startPos));
					child.printRegion(indent + child.startPos - cur, line);
					cur = child.endPos;
				}
			}
			pw.print(line.substring(cur, endPos));
			if (options == IMPL_PAREN)
				pw.print(")");
		}