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;
  }
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 ; }
Builds a method descriptor with no explicit visibility.