def METHOD_NAME(self, data, warm_start: bool, verbose: bool, solver_opts, solver_cache=None):
    import ecos
    cones = dims_to_solver_dict(data[ConicSolver.DIMS])
    # Default verbose to false for BB wrapper.
    if 'mi_verbose' in solver_opts:
        mi_verbose = solver_opts['mi_verbose']
        del solver_opts['mi_verbose']
    else:
        mi_verbose = verbose
    solution = ecos.solve(data[s.C], data[s.G], data[s.H],
                          cones, data[s.A], data[s.B],
                          verbose=verbose,
                          mi_verbose=mi_verbose,
                          bool_vars_idx=data[s.BOOL_IDX],
                          int_vars_idx=data[s.INT_IDX],
                          **solver_opts)
    return solution