public void handle(String token) {
    
        StringTokenizer st = new StringTokenizer(token, " ");
        String action = st.nextToken();
        List<String> params = new ArrayList<String>();
        while (st.hasMoreTokens())
            params.add(st.nextToken());

        // Individual handling

        if (action.equals("g"))
            group(params.get(0));
        else if (action.equals("v"))
            vertex(Double.parseDouble(params.get(0)), Double.parseDouble(params.get(1)), Double.parseDouble(params.get(2)));
        else if (action.equals("f")) {
            int[] vertices = new int[3];
            int[] textures = new int[3];
            for (int i = 0; i < 3; i++) {
                String[] arr = params.get(i).split("/");
                vertices[i] = Integer.parseInt(arr[0]);
                textures[i] = arr.length > 1 && !arr[1].trim().equals("") ? Integer.parseInt(arr[1]) : -1;
            }
            face(vertices[0], vertices[1], vertices[2]);
            // FIXME Add texture support
        }
    }