Constructor < T > function ( Class < T > arg0 , Class < ? > ... arg1 ) { @ SuppressWarnings ( "srini_string" ) Constructor < T > [ ] loc0 = ( Constructor < T > [ ] ) arg0 . getDeclaredConstructors ( ) ; for ( Constructor < T > loc1 : loc0 ) { if ( isCompatible ( arg1 , loc1 . getParameterTypes ( ) ) ) { return loc1 ; } } return null ; }
find the first constructor of the given type which matches the expected parameters , which is the one which has parameters that can be assigned from the expected parameters . note : in case the type is a non-static inner class , then all it 's constructors have the outer class as the first parameter . warning : the returned constructor may not be normally visible to the calling class , so use it with care . for example , suppose we have a class a and a class b which extends it : if the class has 2 constructors accepting a and b respectfully , and we look for one accepting a , then the a constructor is returned . if the class has 2 constructors accepting a and b respectfully , and we look for one accepting b , then the first matching constructor is returned not guaranteed to be the same each time . if the class has only a constructor accepting b , and we look for one accepting b , then the b constructor is returned . if the class has only a constructor accepting b , and we look for one accepting a , then null is returned . if the class has a default constructor and we do n't expect any arguments , then it is returned . concode_field_sep String IS_ROOT concode_elem_sep String GET_ROOT concode_field_sep Object invokeMethodWithNoArgs concode_elem_sep List<String> getGetterMethodNames concode_elem_sep Method getLoggableMethodWithNoArgs concode_elem_sep Class<?> getClassFor concode_elem_sep boolean isCompatible