static IMockabilityResult checkMockClassesAreVisibleInClassloader(IMockCreationSettings settings) {
    ClassLoader classLoader = settings.getClassLoader();

    IMockabilityResult result = checkIfClassIsVisible(settings.getMockType(), classLoader);
    if (!result.isMockable()) {
      return result;
    }
    result = checkIfClassIsVisible(ISpockMockObject.class, classLoader);
    if (!result.isMockable()) {
      return result;
    }
    for (Class<?> ifClass : settings.getAdditionalInterface()) {
      result = checkIfClassIsVisible(ifClass, classLoader);
      if (!result.isMockable()) {
        return result;
      }
    }
    return IMockabilityResult.MOCKABLE;
  }
Checks if the classes required for the {@code settings} are visible by the {@link ClassLoader}.

@param settings the mock settings
@return the {@link IMockabilityResult}, if it is mockable
spock-core/src/main/java/org/spockframework/mock/runtime/JavaProxyMockMaker.java