org_apache_struts_beanvalidation_BeanValidationInterceptorTest_java
org.hibernate.validator.internal.metadata.aggregated.BeanMetaDataBuilder$BuilderDelegate
public BeanMetaDataBuilder$BuilderDelegate(Class<?> beanClass, ConstrainedElement constrainedElement, ConstraintCreationContext constraintCreationContext, ExecutableHelper executableHelper, ExecutableParameterNameProvider parameterNameProvider, MethodValidationConfiguration methodValidationConfiguration) {
        this.beanClass = beanClass;
        this.constrainedElement = constrainedElement;
        this.constraintCreationContext = constraintCreationContext;
        this.executableHelper = executableHelper;
        this.parameterNameProvider = parameterNameProvider;
        this.methodValidationConfiguration = methodValidationConfiguration;
        switch (constrainedElement.getKind()) {
            case FIELD: {
                ConstrainedField constrainedField = (ConstrainedField)constrainedElement;
                this.metaDataBuilder = new PropertyMetaData.Builder(beanClass, constrainedField, constraintCreationContext);
                break;
            }
            case CONSTRUCTOR: 
            case METHOD: 
            case GETTER: {
                ConstrainedExecutable constrainedExecutable = (ConstrainedExecutable)constrainedElement;
                Callable callable = constrainedExecutable.getCallable();
                if (!callable.isPrivate() || beanClass == callable.getDeclaringClass()) {
                    this.methodBuilder = new ExecutableMetaData.Builder(beanClass, constrainedExecutable, constraintCreationContext, executableHelper, parameterNameProvider, methodValidationConfiguration);
                }
                if (constrainedElement.getKind() != ConstrainedElement.ConstrainedElementKind.GETTER) break;
                this.metaDataBuilder = new PropertyMetaData.Builder(beanClass, constrainedExecutable, constraintCreationContext);
                break;
            }
            case TYPE: {
                ConstrainedType constrainedType = (ConstrainedType)constrainedElement;
                this.metaDataBuilder = new ClassMetaData.Builder(beanClass, constrainedType, constraintCreationContext);
                break;
            }
            default: {
                throw new IllegalStateException(StringHelper.format("Constrained element kind '%1$s' not supported here.", new Object[]{constrainedElement.getKind()}));
            }
        }
        this.hashCode = this.buildHashCode();
    }
 -> java.util.Set.addAll(java.util.Collection): boolean -> java.util.Set.addAll(java.util.Collection): boolean -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int
 [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Set.addAll(java.util.Collection): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Set.addAll(java.util.Collection): boolean [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int [CALL] [CALL] [EXIT] -> java.lang.Object.hashCode(): int [EXIT] [EXIT] [EXIT]