Congratulations! I'll take a look at it once you get the PR up. I'm glad the matrix lib is working for you, you are actually the first to test it (in HTM.Java)!
I'll wait for the PR before taking a look at the "style", but I do have to mention one thing. All classes now are serialized/deserialized via the Persistence framework which basically only requires that the class implement
Persistable and the framework will handle the serialization for you. There are
Persistable.postDeSerialize() which are there in case objects of your class need special setup or teardown prior to or after persistence.
You will need to write tests that show that the SDRClassifier can be serialized and deserialized correctly. What this means is:
1.) Have 2 SDRClassifiers. (SDRC 1 and SDRC 2)
2.) Have inputs A, B, C (for SDRC 1), and A, B, C (for SDRC 2), which have outputs X, Y, Z and X', Y', Z'.
3.) Send the input A into both Classifiers and compare outputs X and X'. to show they are the same.
4.) Serialize SDRC 2; then deserialize it.
5.) Send the input B into both Classifiers and compare outputs Y and Y'. to show they are the same.
6.) Send the input C into both Classifiers and compare outputs Z and Z'. to show they are the same.
If that isn't clear for you, then let me know and we talk about it more, ok?
Anyway, the Serializer and DeSerializer of the old CLAClassifier were remnants of serialization that took place before we added the Persistence framework, and should be removed. Sorry for the confusion on that. I meant to get around to it, but didn't somehow...
Great work! Let me know if what I described isn't quite clear...