static Constructor unproxy()

in plugin-acl/plugin/src/main/groovy/grails/plugin/springsecurity/acl/util/ProxyUtils.groovy [69:87]


	static Constructor<?> unproxy(final Constructor<?> constructor) {
		Class<?> clazz = constructor.declaringClass

		if (!isProxy(clazz)) {
			return constructor
		}

		Class<?> searchType = unproxy(clazz)
		while (searchType) {
			for (Constructor<?> c in searchType.constructors) {
				if (constructor.name == c.name
						&& (constructor.parameterTypes == null ||
						    Arrays.equals(constructor.parameterTypes, c.parameterTypes))) {
					return c
				}
			}
			searchType = searchType.superclass
		}
	}