private void init(String name, String paramTypes, String returnTypes) {
        this.name = name;
        this.paramTypes = paramTypes;
        this.returnTypes = returnTypes;
        desc = undocumented;
        paramName = new String[this.paramTypes.length()];
        paramDesc = new String[this.paramTypes.length()];
        for (int i = 0; i < this.paramTypes.length(); i++) {
            paramName[i] = undocumented;
            paramDesc[i] = undocumented;
        }
        returnName = new String[this.returnTypes.length()];
        returnDesc = new String[this.returnTypes.length()];
        for (int i = 0; i < this.returnTypes.length(); i++) {
            returnName[i] = undocumented;
            returnDesc[i] = undocumented;
        }
    }
<p>A Method encapsulates the reflective information about a single RPC
method.</p>

<p>Method parameters and return values are declared with type
strings. A <i>type string</i> denotes the concatenation of type
identifiers where a string is used to represent a sequence of
types. For example 'ii' is the type string for two 32-bit integers,
while 'iss' is the type string for a single 32-bit integer followed
by two strings. The complete list of type identifiers can be found
in the {@link Value} class.</p>

<p>The type strings associated with actual method parameters and
return values may only contain valid type identifiers. However,
when you specify the parameters accepted by- or returned from a RPC
method via the Method constructor, '*' may be used as the last
character in the type string. Ending a type string specification
with '*' means that additional values are optional and may have any
type. This feature can also be used with the {@link
Request#checkReturnTypes Request.checkReturnTypes} method when
verifying return types.</p>

@see Supervisor#addMethod
jrt/src/com/yahoo/jrt/Method.java