code: private static Constructor<?> getConstructor(final Class<?> genericClass, final Class<?>[] constructorParameterTypes) {
          Constructor<?> constructor = null;
          try {
              constructor = genericClass.getConstructor(constructorParameterTypes);
          } catch (final NoSuchMethodException e) {
              // Return the first constructor as a workaround
              constructor = genericClass.getConstructors()[0];
          } catch (final SecurityException e) {
              LOGGER.log(NO_CONSTRUCTOR, e);
              throw e; // Pop up the exception to let it managed by the caller method
          }
          return constructor;
      }
docs: Retrieve the constructor of a Type.
  
  @param genericClass the type of the object
  @param constructorParameterTypes an array of parameters' type to find the right constructor
  
  @return the right constructor that matchers parameters