Method (String targetClass, String methodSignature) { try { // use bootstrap classloader to only provide access to JRE classes Class cls = new ClassLoader(null) {}.loadClass(targetClass); for (Method mtd : cls.getMethods()) { // use contains() to ignore access modifiers and thrown exceptions if (mtd.toString().contains(methodSignature)) { return mtd; } } } catch (Exception e) { // ignore } return null; }