private boolean load() {
        try (BufferedReader reader = new BufferedReader(new FileReader(dataFilename))) {
            String elementCountString = reader.readLine();
            int roomCount = Integer.valueOf(elementCountString);
            for(int roomIndex = 0; roomIndex < roomCount; ++roomIndex) {
                Room newRoom = new Room();
                boolean isRoomLoaded = newRoom.load(reader);
                if (isRoomLoaded) {
                    rooms.add(newRoom);
                }
            }
            
            elementCountString = reader.readLine();
            int departmentCount = Integer.valueOf(elementCountString);
            for(int departmentIndex = 0; departmentIndex < departmentCount; ++departmentIndex) {
                Department newDepartment = new Department(reader.readLine());
                departments.add(newDepartment);
            }
        } catch (IOException e) {
            System.err.println(e.getMessage());
            System.err.println(e.getStackTrace());
            return false;
        }
        
        return true;
    }