code: def state_entry(self, args=None, **kwargs): # pylint: disable=arguments-differ
          
          state = self.state_blank(**kwargs)
          # for the Java main method `public static main(String[] args)`,
          # we add symbolic cmdline arguments
          if not args and state.addr.method.name == 'main' and \
                          state.addr.method.params[0] == 'java.lang.String[]':
              cmd_line_args = SimSootExpr_NewArray.new_array(state, "java.lang.String", BVS('argc', 32))
              cmd_line_args.add_default_value_generator(self.generate_symbolic_cmd_line_arg)
              args = [SootArgument(cmd_line_args, "java.lang.String[]")]
              # for referencing the Java array, we need to know the array reference
              # => saves it in the globals dict
              state.globals['cmd_line_args'] = cmd_line_args
          # setup arguments
          SimEngineSoot.setup_arguments(state, args)
          return state
docs: Create an entry state.
  
          :param args: List of SootArgument values (optional).