@@ -0,0 +1,1456 @@
+package net.ttddyy.dsproxy.proxy;%0A%0Aimport java.util.LinkedHashMap;%0Aimport java.util.Map;%0A%0A/**%0A * @author Tadaya Tsuyukubo%0A * @since 1.4%0A */%0Apublic class ParameterKeyUtils %7B%0A    public static %3CT%3E Map%3CParameterKey, T%3E filterBy(Map%3CParameterKey, T%3E map, ParameterKey.ParameterKeyType type) %7B%0A        Map%3CParameterKey, T%3E result = new LinkedHashMap%3CParameterKey, T%3E();%0A        for (Map.Entry%3CParameterKey, T%3E entry : map.entrySet()) %7B%0A            ParameterKey key = entry.getKey();%0A            if (key.getType() == type) %7B%0A                result.put(key, entry.getValue());%0A            %7D%0A        %7D%0A        return result;%0A    %7D%0A%0A    public static %3CT%3E Map%3CString, T%3E toNameMap(Map%3CParameterKey, T%3E map) %7B%0A        Map%3CParameterKey, T%3E filtered = filterBy(map, ParameterKey.ParameterKeyType.BY_NAME);%0A        Map%3CString, T%3E result = new LinkedHashMap%3CString, T%3E();%0A        for (Map.Entry%3CParameterKey, T%3E entry : filtered.entrySet()) %7B%0A            result.put(entry.getKey().getName(), entry.getValue());%0A        %7D%0A        return result;%0A    %7D%0A%0A    public static %3CT%3E Map%3CInteger, T%3E toIndexMap(Map%3CParameterKey, T%3E map) %7B%0A        Map%3CParameterKey, T%3E filtered = filterBy(map, ParameterKey.ParameterKeyType.BY_INDEX);%0A        Map%3CInteger, T%3E result = new LinkedHashMap%3CInteger, T%3E();%0A        for (Map.Entry%3CParameterKey, T%3E entry : filtered.entrySet()) %7B%0A            result.put(entry.getKey().getIndex(), entry.getValue());%0A        %7D%0A        return result;%0A    %7D%0A%0A%7D%0A

add util class for ParameterKey