private static AbstractMap.SimpleEntry<String, Type> processName(Method method) {

        // preconditions
        assert !CommonUtils.isEmpty(method) && !CommonUtils.isEmpty(method.getName()) : "Prosledjen je prazan method!";

        String methodName = method.getName();
        int paramCount = method.getParameterTypes().length;

        AbstractMap.SimpleEntry<String, Type> ret = new AbstractMap.SimpleEntry(null, Type.other);

        Type t = Type.other;
        String propertyName = null;
        if (methodName.startsWith("get") && paramCount == 0) {
            propertyName = methodName.substring(3);
            t = Type.getter;
        }
        if (methodName.startsWith("is") && paramCount == 0) {
            propertyName = methodName.substring(2);
            t = Type.getter;
        }
        if (methodName.startsWith("set") && paramCount == 1) {
            propertyName = methodName.substring(3);
            t = Type.setter;
        }

        if (!CommonUtils.isEmpty(propertyName)) {
            char c = propertyName.charAt(0);

            if (Character.isUpperCase(c)) {
                propertyName = Character.toLowerCase(c) + propertyName.substring(1);
                ret = new AbstractMap.SimpleEntry(propertyName, t);
            }
        }

        // postconditions
        // ili nije ni geter ni seter i vracam (null, other)
        // ili je nesto od ta dva i vracam tip i neprazno ime propertija
        assert (ret.getValue().equals(Type.other) == CommonUtils.isEmpty(ret.getKey()));
        return ret;
    }