private static Tree sortConstructorsByParamsCount(final ReflectConstructor[] constructors) {
    Tree sortedConstructors = null;

    // sort constructors by parameter count
    for (int i = 0; i < constructors.length; i++) {
      int parameterCount = constructors[i].getParameterTypes().length;
      sortedConstructors =
          Tree.add(
              sortedConstructors,
              new TreeIntObject(i + constructors.length * parameterCount, constructors[i]));
    }
    return sortedConstructors;
  }