Can anyone explain this method signature? What does <K> and K... represent?
<p>Howdy, I am trying to understand this method signature:</p>

<pre><code>  public &lt;K&gt; Map&lt;K, String&gt; getMulti(Serializer&lt;K&gt; keySerializer, K... keys)
</code></pre>

<p>For the following code block:</p>

<pre><code>public &lt;K&gt; Map&lt;K, String&gt; getMulti(Serializer&lt;K&gt; keySerializer, K... keys) {
    MultigetSliceQuery&lt;K, String, String&gt; q = createMultigetSliceQuery(keyspace, keySerializer, serializer, serializer);
    q.setColumnFamily(CF_NAME);
    q.setKeys(keys);
    q.setColumnNames(COLUMN_NAME);

    QueryResult&lt;Rows&lt;K, String, String&gt;&gt; r = q.execute();
    Rows&lt;K, String, String&gt; rows = r.get();
    Map&lt;K, String&gt; ret = new HashMap&lt;K, String&gt;(keys.length);
    for (K k : keys) {
        HColumn&lt;String, String&gt; c = rows.getByKey(k).getColumnSlice().getColumnByName(COLUMN_NAME);
        if (c != null &amp;&amp; c.getValue() != null) {
            ret.put(k, c.getValue());
        }
    }
    return ret;
}
</code></pre>

<p>I am not sure what <code>&lt;K&gt;</code> in the method declaration represents, or what <code>K...</code> is suppose to mean. Can anyone shed some light on these?</p>
