public static List<Method> unmaskedMethods(Class<?> testClass,
            Class<?> maskedClass) {
        List<Method> unmasked = new ArrayList<>();
        Method[] methodsToMask = maskedClass.getDeclaredMethods();
        for (Method m : methodsToMask) {
            int modifiers = m.getModifiers();
            if (Modifier.isPrivate(modifiers)) {
                continue;
            }
            try {
                testClass.getDeclaredMethod(m.getName(), m.getParameterTypes());
            } catch (NoSuchMethodException e) {
                unmasked.add(m);
            }
        }
        return unmasked;
    }
Check all protected, public and package private declared methods of
maskedClass is implemented in testClass. Note, this will by definition
blow up on final methods in maskedClass.

@param testClass class which wraps or masks another class
@param maskedClass class which is masked or wrapped
@return the methods which seem to miss from testClass to be complete
vespajlib/src/main/java/com/yahoo/protect/ClassValidator.java