void CGestureStore::ReadFormatV1(
    /* [in] */ IDataInputStream *in)
{
    AutoPtr<Learner> classifier = mClassifier;
    mNamedGestures.Clear();

    // Number of entries in the library
    Int32 entriesCount;
    IDataInput::Probe(in)->ReadInt32(&entriesCount);

    for (Int32 i = 0; i < entriesCount; i++) {
        // Entry name
        String name;
        IDataInput::Probe(in)->ReadUTF(&name);
        // Number of gestures
        Int32 gestureCount;
        IDataInput::Probe(in)->ReadInt32(&gestureCount);

        AutoPtr<GestureList> gestures = new GestureList();
        for (Int32 j = 0; j < gestureCount; j++) {
            AutoPtr<IGesture> gesture;
            CGesture::Deserialize(in, (IGesture**)&gesture);
            gestures->PushBack(gesture);
            AutoPtr<Instance> instance = Instance::CreateInstance(mSequenceType, mOrientationStyle,
                gesture, name);
            classifier->AddInstance(instance);
        }

        mNamedGestures[name] = gestures;
    }
}