Net::NNTP accesses private methods?

I’m trying out Net::NNTP and it’s accessing a private method on line
375:

@socket = InternetMessageIO.open(@address, @port, @open_timeout,
@read_timeout, @debug_output)

InternetMessageIO is not defined anywhere in the file, so I assume 

that
it’s defined somewhere up from:

require ‘net/protocol’
require ‘digest/md5’

...probably from net/protocol.  This naturally brings up the 

question,
did this ever work? Was this written for a previous version of Ruby
where
this method was public? What’s going on, here?
If someone can explain this situation to me, I’d greatly appreciate!
If
the only answer you have is to use another library, please mention what
that
library is!
Thank you…