@ReactProp(name = "width", defaultFloat = 1)
        public void setWidth(Dynamic width) {
            if (width.getType() == ReadableType.String) {
                super.setWidth(width);
            } else if (width.getType() == ReadableType.Number){
                JavaOnlyMap map = JavaOnlyMap.of(WIDTH_NAME, width.asDouble() * s2DUnitPer3DUnit);
                Dynamic newWidth = DynamicUtil.create(map, WIDTH_NAME);
                super.setWidth(newWidth);
            } else {
                ViroLog.warn(TAG, "Width is not of type Number or String. Doing nothing.");
            }
        }
This shadow node is so that views associated with FlexViews (and FlexViews themselves) have
their properties properly converted from 3D to 2D units. It's easiest if we just make all Nodes
have FlexEnabledShadowNodes, and the components can choose whether or not
android/viro_bridge/src/main/java/com/viromedia/bridge/component/node/VRTNodeManager.java