 The JSP version of the program is structurally equivalent to
String line;

line = in.readLine();
while (line != null) {

and the traditional version of the program is equivalent to
String line;

int count = 0;
String firstLineOfGroup = null;
while ((line = in.readLine()) != null) {
if (firstLineOfGroup != null) {

Jackson criticises the traditional version, claiming that it hides the relationships which exist between the input lines, compromising the program's understandability and maintainability by, for example, forcing the use of a special case for the first line and forcing another special case for a final output operation.JSP uses semi-formal steps to capture the existing structure of a program's inputs and outputs in the structure of the program itself.The intent is to create programs which are easy to modify over their lifetime.