public FieldAccessor(Class cls, @NotNull String name) {
        this.cls = cls;
        this.name = name;
        try {
            field = cls.getDeclaredField(name);
            field.setAccessible(true);
        } catch (NoSuchFieldException e) {
            LOG.error(String.format("field %s not found", name));
            field = null;
        }
        getMethod = getMethodOfClassByName(cls, getGetMethodName());
        setMethod = getMethodOfClassByName(cls, getSetMethodName());
    }