private String readNextLine(){
		String line = null;
		try {
			if(reader == null)
				this.openNextInputFile();
			if(reader == null)
				return null;
			
			line = reader.readLine();
			if(line == null){
				if(this.buffer != null && this.buffer.length() > 0){
					int index = this.buffer.indexOf('\n');
					if(index >= 0){
						line = this.buffer.substring(0, index);
						if(index +1 < this.buffer.length())
							this.buffer = this.buffer.substring(index+1, this.buffer.length());
						else
							this.buffer = "";
					}
					else{
						line = this.buffer;
						this.buffer = "";
					}
				}
				else {
					openNextInputFile();
					line = reader.readLine();
				}
			}
			if(line == null) 
				return null;
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
		return line;
	}