public Block split(final Line line){
  final Block block=new Block();
  block.lines=this.lines;
  block.lineTail=line;
  this.lines=line.next;
  line.next=null;
  if (this.lines == null) {
    this.lineTail=null;
  }
 else {
    this.lines.previous=null;
  }
  if (this.blocks == null) {
    this.blocks=this.blockTail=block;
  }
 else {
    this.blockTail.next=block;
    this.blockTail=block;
  }
  return block;
}

public Block split ( final Line line ) { final Block block = new Block ( ) ; block . lines = this . lines ; block . lineTail = line ; this . lines = line . next ; line . next = null ; if ( this . lines == null ) { this . lineTail = null ; } else { this . lines . previous = null ; } if ( this . blocks == null ) { this . blocks = this . blockTail = block ; } else { this . blockTail . next = block ; this . blockTail = block ; } return block ; }
splits this block ' s lines , creating a new child block having ' line ' as it ' s linetail .
