protected IndirectContainer buildContainer(ValueHolderInterface valueHolder) {
try {
IndirectContainer container = null;
if (getContainerConstructor().getParameterTypes().length == 0) {
if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()){
container = (IndirectContainer)AccessController.doPrivileged(new PrivilegedInvokeConstructor(getContainerConstructor(), new Object[0]));
}else{
container = (IndirectContainer)PrivilegedAccessHelper.invokeConstructor(getContainerConstructor(), new Object[0]);
}
container.setValueHolder(valueHolder);
} else {
if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()){
container = (IndirectContainer)AccessController.doPrivileged(new PrivilegedInvokeConstructor(getContainerConstructor(), new Object[] { valueHolder }));
}else{
container = (IndirectContainer)PrivilegedAccessHelper.invokeConstructor(getContainerConstructor(), new Object[] { valueHolder });
}
}
return container;