Representation of an Avatar image for a user (or possibly some other application specific entity) which is defined
through a plugin. The URL may be hosted on an external system such that some metadata about the Avatar are not known
by the implementation, for example whether it is the default avatar, provided by the system or user-customised.
Whether the URL for the Avatar is hosted on an external and internet-accessible service like Gravatar, Atlassian
ID avatars or some other universally accessible service. If uncertain, return false. Note this also implies that
it would probably be silly to call getBytes().
false unless the server behind this Avatar is guaranteed internet-accessible.
Provides an InputStream for reading the image data. Callers must close the stream. DO NOT call this method if the
URL is public unless you somehow know that the configuration is OK with this. External Avatars implies the bytes
could be read off the network which the caller can always do for themselves if they really need them.
Implementations may decide to do this but the caller should take responsibility. Alternately, implementations may
throw IOException to indicate the bytes are unavailable or contraband.
a stream for reading the image data.
IOException - if called when returns true or if the bytes cannot be found.