private static Control createRequestControl(final Class clazz,final Class[] paramTypes,final Object[] params){
  Constructor constructor=ClassUtils.getConstructorIfAvailable(clazz,paramTypes);
  if (constructor == null) {
    LdapExceptionUtils.generateErrorException(LdapErrorCodes.ERR_10005_CONTROL_CONTRUCTOR_NOT_FOUND,new String[]{clazz.toString(),StringUtils.arrayToCommaDelimitedString(paramTypes)},LOGGER);
  }
  Control result=null;
  try {
    result=(Control)constructor.newInstance(params);
  }
 catch (  Exception e) {
    LdapExceptionUtils.generateErrorException(LdapErrorCodes.ERR_10006_CONTROL_INSTANCE_FAILED,new String[]{clazz.toString(),StringUtils.arrayToCommaDelimitedString(paramTypes),StringUtils.arrayToCommaDelimitedString(params)},LOGGER,e);
  }
  return result;
}

private static Control createRequestControl ( final Class clazz , final Class [ ] paramTypes , final Object [ ] params ) { Constructor constructor = ClassUtils . getConstructorIfAvailable ( clazz , paramTypes ) ; if ( constructor == null ) { LdapExceptionUtils . generateErrorException ( LdapErrorCodes . ERR_10005_CONTROL_CONTRUCTOR_NOT_FOUND , new String [ ] { clazz . toString ( ) , StringUtils . arrayToCommaDelimitedString ( paramTypes ) } , LOGGER ) ; } Control result = null ; try { result = ( Control ) constructor . newInstance ( params ) ; } catch ( Exception e ) { LdapExceptionUtils . generateErrorException ( LdapErrorCodes . ERR_10006_CONTROL_INSTANCE_FAILED , new String [ ] { clazz . toString ( ) , StringUtils . arrayToCommaDelimitedString ( paramTypes ) , StringUtils . arrayToCommaDelimitedString ( params ) } , LOGGER , e ) ; } return result ; }
permite crear una instancia de la clase pasada como parametro .
