public List<Record> readRecordsFormFile(String inputFilePath) {
		try {

			Record russiaRecord = createRussiaRecord();
			Record novosibirskStateRecord = createNovosibirskStateRecord(russiaRecord);

			List<String> fileContent = FileUtils.readLines(new File(
					inputFilePath));

			List<Record> records = new ArrayList<Record>();

			if (fileContent.size() <= 0) {
				System.out.println("Nothing to do");
				return records;
			}

			System.out.println("Lines to proceed: " + fileContent.size());

			records.add(russiaRecord);
			records.add(novosibirskStateRecord);
			
			int startIndex;
			int endIndex;

			startIndex = 0;

			List<Record> parsedRecords = new ArrayList<Record>();
			while (startIndex < fileContent.size() - 1) {
				endIndex = getNextRecordIndex(fileContent, startIndex);

				try {
					Record record = createRecordFromLines(
							fileContent.subList(startIndex, endIndex),
							novosibirskStateRecord);

					System.out.println(record);

					parsedRecords.add(record);
				} catch (Exception ex) {
					System.out.println("error: " + ex.getMessage());
				}

				startIndex = endIndex;
			}

			records.addAll(districts);
			records.addAll(parsedRecords);
			
			System.out.println("Finished!");

			System.out.println(records.size() + " records processed");
			System.out.println(records.size() / 867.0);

			return records;

		} catch (IOException e) {
			e.printStackTrace();
		}

		return null;
	}