def get_recent_state(self, current_observation):
<EOL>state = [current_observation]<EOL>idx = len(self.recent_observations) - <NUM_LIT:1><EOL>for offset in range(<NUM_LIT:0>, self.window_length - <NUM_LIT:1>):<EOL><INDENT>current_idx = idx - offset<EOL>current_terminal = self.recent_terminals[current_idx - <NUM_LIT:1>] if current_idx - <NUM_LIT:1> >= <NUM_LIT:0> else False<EOL>if current_idx < <NUM_LIT:0> or (not self.ignore_episode_boundaries and current_terminal):<EOL><INDENT>break<EOL><DEDENT>state.insert(<NUM_LIT:0>, self.recent_observations[current_idx])<EOL><DEDENT>while len(state) < self.window_length:<EOL><INDENT>state.insert(<NUM_LIT:0>, zeroed_observation(state[<NUM_LIT:0>]))<EOL><DEDENT>return state<EOL>
Return list of last observations

        # Argument
            current_observation (object): Last observation

        # Returns
            A list of the last observations