@Override
    public void determineBufferSizes() {
        super.determineBufferSizes();

        groupVertexBufferSize += this.vertexBufferSize;
        groupTextureCoordsBufferSize += this.textureCoordsBufferSize;
        groupColorBufferSize += this.colorBufferSize;

        for (GUIComponent component : subComponents) {
            component.determineBufferSizes();

            if (component instanceof GUIComponentGroup) {
                groupVertexBufferSize += ((GUIComponentGroup) component).groupVertexBufferSize;
                groupTextureCoordsBufferSize += ((GUIComponentGroup) component).groupTextureCoordsBufferSize;
                groupColorBufferSize += ((GUIComponentGroup) component).groupColorBufferSize;
            } else {
                groupVertexBufferSize += component.vertexBufferSize;
                groupTextureCoordsBufferSize += component.textureCoordsBufferSize;
                groupColorBufferSize += component.colorBufferSize;
            }
        }

        totalGroupBufferSize = groupVertexBufferSize + groupTextureCoordsBufferSize + groupColorBufferSize;
    }