private static void processAbsolute(Component parent, Component c, NIBConstraint nc) {
        // If the contraint has no frame, make it the same size as the component
        Rectangle thisBounds = nc.frame;
        if (thisBounds == null) {
            thisBounds = c.getBounds();
        }

        // If we are initilizing, get the absolute size and position
        if (nc.state == NIBConstraint.STATE_IDLE) {
            Integer locationX = nc.getLocationX();
            if (locationX != null) thisBounds.x = locationX.intValue();
            Integer locationY = nc.getLocationY();
            if (locationY != null) thisBounds.y = locationY.intValue();
            Integer width = nc.getWidth();
            if (width != null) thisBounds.width = width.intValue();
            Integer height = nc.getHeight();
            if (height != null) thisBounds.height = height.intValue();
        }

        // Make sure if the component has no size, we set it
        Dimension prefSize = c.getPreferredSize();
        if (thisBounds.width == 0) {
            thisBounds.width = prefSize.width;
        }
        if (thisBounds.height == 0) {
            thisBounds.height = prefSize.height;
        }

        if (nc.isF()) {
            Dimension parentSize = parent.getSize();
            thisBounds = new Rectangle(0, 0, parentSize.width, parentSize.height);
        }

        nc.frame = thisBounds;
        c.setBounds(thisBounds);
    }