code: private static String buildOverloadParameterString(Class<?>[] parameterTypes) {
          StringBuilder name = new StringBuilder();
          if (parameterTypes.length == 0) {
              name.append("__");
          } else {
              for (int i = 0; i < parameterTypes.length; i++) {
                  Class<?> parameterType = parameterTypes[i];
                  name.append(buildOverloadParameterString(parameterType));
              }
          }
          int index = -1;
          while ((index = name.indexOf(".", index)) > -1) {
              name.setCharAt(index, '_');
          }
          return name.toString();
      }
docs: Return the a string containing a double underscore '__' list of parameter types encoded using the Java to IDL rules.
  
  This is used for distinction of methods that only differ by parameter lists.