private Object readBinding(Object source) {
        try {
            if (source == null) {
                return null;
            }
            if (this.pathName == ".") {
                return source;
            } else {
                return source.getClass().getMethod("get" + this.pathName).invoke(source);
            }
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }
        return null;
    }