That's what getPotions() is for. You're forgetting that a potion brewer doesn't have a simple input-output system, but it instead uses a binary scripting system. Not to mention that it doesn't return just one potion, but 3. 

Just as an example, let's say we have 3 potions that we're adding redstone to: A normal speed potion, a normal fire resistance potion, and a normal poison potions. Adding one redstone would increase the duration of all three, resulting in 3 different potions. While most people don't do something like this, it is a possible occurrence and thus should be handled accordingly.

Also, in regards to the multiple topics, I could move this out to a separate one if you feel that it would be best, and I'll see about getting the JavaDocs soon.