docs: public com.groupon.odo.proxylib.models.Method getMethodForOverrideId(int overrideId) {
          com.groupon.odo.proxylib.models.Method method = null;
  
          // special case for IDs < 0
          if (overrideId < 0) {
              method = new com.groupon.odo.proxylib.models.Method();
              method.setId(overrideId);
  
              if (method.getId() == Constants.PLUGIN_RESPONSE_OVERRIDE_CUSTOM ||
                  method.getId() == Constants.PLUGIN_RESPONSE_HEADER_OVERRIDE_ADD ||
                  method.getId() == Constants.PLUGIN_RESPONSE_HEADER_OVERRIDE_REMOVE) {
                  method.setMethodType(Constants.PLUGIN_TYPE_RESPONSE_OVERRIDE);
              } else {
                  method.setMethodType(Constants.PLUGIN_TYPE_REQUEST_OVERRIDE);
              }
          } else {
              // get method information from the database
              PreparedStatement queryStatement = null;
              ResultSet results = null;
              try (Connection sqlConnection = sqlService.getConnection()) {
                  queryStatement = sqlConnection.prepareStatement(
                      "SELECT * FROM " + Constants.DB_TABLE_OVERRIDE +
                          " WHERE " + Constants.GENERIC_ID + " = ?"
                  );
                  queryStatement.setInt(1, overrideId);
                  results = queryStatement.executeQuery();
  
                  if (results.next()) {
                      method = new com.groupon.odo.proxylib.models.Method();
                      method.setClassName(results.getString(Constants.OVERRIDE_CLASS_NAME));
                      method.setMethodName(results.getString(Constants.OVERRIDE_METHOD_NAME));
                  }
              } catch (SQLException e) {
                  e.printStackTrace();
                  return null;
              } finally {
                  try {
                      if (results != null) {
                          results.close();
                      }
                  } catch (Exception e) {
                  }
                  try {
                      if (queryStatement != null) {
                          queryStatement.close();
                      }
                  } catch (Exception e) {
                  }
              }
  
              // if method is still null then just return
              if (method == null) {
                  return method;
              }
  
              // now get the rest of the data from the plugin manager
              // this gets all of the actual method data
              try {
                  method = PluginManager.getInstance().getMethod(method.getClassName(), method.getMethodName());
                  method.setId(overrideId);
              } catch (Exception e) {
                  // there was some problem.. return null
                  return null;
              }
          }
  
          return method;
      }