code: protected static MethodDescriptor _buildMethodDescriptor(
      Class actionClass, String methodName, String[] parameterNames, Class[] parameterTypes, Class[] actualParameterTypes )
    {
      MethodDescriptor method;
      assert (parameterNames.length == parameterTypes.length) : "Number of parameter names different from number of parameter types.";
      assert (parameterNames.length == actualParameterTypes.length) :
              "Number of parameter names different from number of actual parameters.";
  
      try
      {
        int numParams = parameterNames.length;
        ParameterDescriptor[] parameters = new ParameterDescriptor[numParams];
        for( int i = 0; i < numParams; i++ )
        {
          parameters[i] = new TypedParameterDescriptor( parameterNames[i], parameterTypes[i] );
        }
  
        method = new MethodDescriptor( actionClass.getMethod( methodName, actualParameterTypes ), parameters );
      }
      catch( NoSuchMethodException e )
      {
        throw new RuntimeException( e );
      }
      catch( SecurityException e )
      {
        throw new RuntimeException( e );
      }
      return method;
    }
docs: Builds a method descriptor with no explicit visibility.