## Hierarchy For All Packages

Package Hierarchies:
  freenet.support.CPUInformation, gnu.crypto.hash, gnu.crypto.prng, net.i2p, net.i2p.apps.systray, net.i2p.client, net.i2p.client.datagram, net.i2p.client.naming, net.i2p.client.streaming, net.i2p.crypto, net.i2p.data, net.i2p.data.i2cp, net.i2p.data.i2np, net.i2p.i2ptunnel, net.i2p.i2ptunnel.socks, net.i2p.i2ptunnel.web, net.i2p.router, net.i2p.router.admin, net.i2p.router.client, net.i2p.router.message, net.i2p.router.networkdb, net.i2p.router.networkdb.kademlia, net.i2p.router.peermanager, net.i2p.router.startup, net.i2p.router.transport, net.i2p.router.transport.ntcp, net.i2p.router.transport.tcp, net.i2p.router.transport.udp, net.i2p.router.tunnel, net.i2p.router.tunnel.pool, net.i2p.router.web, net.i2p.stat, net.i2p.time, net.i2p.util, org.bouncycastle.crypto, org.bouncycastle.crypto.digests, org.bouncycastle.crypto.macs, org.xlattice.crypto.filters

## Class Hierarchy

- java.lang.Object
  - net.i2p.router.transport.udp.ACKSender (implements java.lang.Runnable)
  - net.i2p.client.naming.AddressDB
    - net.i2p.client.naming.DummyAddressDB
    - net.i2p.client.naming.FilesystemAddressDB
  - net.i2p.router.admin.AdminListener (implements java.lang.Runnable)
  - net.i2p.router.admin.AdminManager (implements net.i2p.router.Service)
  - net.i2p.router.admin.AdminRunner (implements java.lang.Runnable)
  - net.i2p.crypto.AESEngine
    - net.i2p.crypto.CryptixAESEngine
  - net.i2p.router.web.AlphaComparator (implements java.util.Comparator<T>)
  - net.i2p.client.ATalk (implements net.i2p.client.I2PSessionListener, java.lang.Runnable)
  - net.i2p.data.Base64
  - gnu.crypto.hash.BaseHashStandalone (implements gnu.crypto.hash.IMessageDigestStandalone)
    - gnu.crypto.hash.Sha256Standalone
  - gnu.crypto.prng.BasePRNGStandalone (implements gnu.crypto.prng.IRandomStandalone)
    - gnu.crypto.prng.FortunaStandalone (implements gnu.crypto.prng.RandomEventListenerStandalone, java.io.Serializable)
      - gnu.crypto.prng.AsyncFortunaStandalone (implements java.lang.Runnable)
    - gnu.crypto.prng.FortunaStandalone.Generator (implements java.lang.Cloneable)
  - net.i2p.router.tunnel.BloomFilterIVValidator (implements net.i2p.router.tunnel.IVValidator)
  - org.xlattice.crypto.filters.BloomSHA1
  - net.i2p.stat.BufferedStatLog (implements net.i2p.stat.StatLog)
  - net.i2p.i2ptunnel.BufferLogger (implements net.i2p.i2ptunnel.Logging)
  - net.i2p.router.tunnel.pool.BuildExecutor (implements java.lang.Runnable)
  - net.i2p.router.tunnel.pool.BuildHandler
  - net.i2p.router.tunnel.BuildMessageGenerator
  - net.i2p.router.tunnel.BuildMessageProcessor
  - net.i2p.router.tunnel.BuildMessageTest
  - net.i2p.router.tunnel.BuildReplyHandler
  - net.i2p.router.tunnel.pool.BuildRequestor
  - net.i2p.data.i2np.BuildRequestRecord
  - net.i2p.data.i2np.BuildResponseRecord
  - net.i2p.data.ByteArray (implements java.lang.Comparable<T>, java.io.Serializable)
    - net.i2p.data.SessionTag
  - net.i2p.util.ByteCache
  - net.i2p.client.streaming.ByteCollector
  - net.i2p.router.peermanager.Calculator
    - net.i2p.router.peermanager.CapacityCalculator
    - net.i2p.router.peermanager.IntegrationCalculator
    - net.i2p.router.peermanager.IsFailingCalculator
    - net.i2p.router.peermanager.ReliabilityCalculator
    - net.i2p.router.peermanager.SpeedCalculator
    - net.i2p.router.peermanager.StrictSpeedCalculator
  - net.i2p.router.client.ClientConnectionRunner
  - net.i2p.router.client.ClientListenerRunner (implements java.lang.Runnable)
  - net.i2p.router.client.ClientManager
  - net.i2p.router.ClientManagerFacade (implements net.i2p.router.Service)
    - net.i2p.router.client.ClientManagerFacadeImpl
    - net.i2p.router.DummyClientManagerFacade
  - net.i2p.router.ClientMessage
  - net.i2p.router.client.ClientMessageEventListener (implements net.i2p.data.i2cp.I2CPMessageReader.I2CPMessageEventListener)
  - net.i2p.router.ClientMessagePool
  - net.i2p.router.ClientTunnelSettings
  - net.i2p.router.client.ClientWriterRunner (implements java.lang.Runnable)
  - net.i2p.util.Clock (implements net.i2p.time.Timestamper.UpdateListener)
    - net.i2p.router.RouterClock
  - net.i2p.router.message.CloveSet
  - net.i2p.router.CoalesceStatsEvent (implements net.i2p.util.SimpleTimer.TimedEvent)
  - net.i2p.router.CommSystemFacade (implements net.i2p.router.Service)
    - net.i2p.router.transport.CommSystemFacadeImpl
    - net.i2p.router.DummyCommSystemFacade
    - net.i2p.router.transport.VMCommSystem
  - java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
    - java.awt.Container
      - java.awt.Window (implements javax.accessibility.Accessible)
        - java.awt.Dialog
          - java.awt.FileDialog
            - net.i2p.apps.systray.BrowserChooser
        - java.awt.Frame (implements java.awt.MenuContainer)
          - net.i2p.i2ptunnel.I2PTunnelGUI (implements java.awt.event.ActionListener, net.i2p.i2ptunnel.Logging)
  - net.i2p.router.web.ConfigAdvancedHelper
  - net.i2p.apps.systray.ConfigFile
  - net.i2p.router.web.ConfigLoggingHelper
  - net.i2p.router.web.ConfigNetHelper
  - net.i2p.router.web.ConfigRestartBean
  - net.i2p.router.web.ConfigServiceHandler.UpdateWrapperManagerAndRekeyTask (implements java.lang.Runnable)
  - net.i2p.router.web.ConfigServiceHandler.UpdateWrapperManagerTask (implements java.lang.Runnable)
  - net.i2p.router.web.ConfigStatsHelper
  - net.i2p.router.web.ConfigTunnelsHelper
  - net.i2p.router.web.ConfigUpdateHelper
  - net.i2p.client.streaming.Connection
  - net.i2p.client.streaming.Connection.ConEvent (implements net.i2p.util.SimpleTimer.TimedEvent)
  - net.i2p.router.transport.tcp.ConnectionBuilder
  - net.i2p.client.streaming.ConnectionDataReceiver (implements net.i2p.client.streaming.MessageOutputStream.DataReceiver)
  - net.i2p.router.transport.tcp.ConnectionHandler
  - net.i2p.client.streaming.ConnectionHandler
  - net.i2p.client.streaming.ConnectionManager
  - net.i2p.client.streaming.ConnectionPacketHandler
  - net.i2p.router.transport.tcp.ConnectionRunner (implements java.lang.Runnable)
  - net.i2p.router.transport.tcp.ConnectionTagManager
    - net.i2p.router.transport.tcp.PersistentConnectionTagManager
  - net.i2p.router.web.ContentHelper
  - net.i2p.router.web.ContextHelper
  - net.i2p.util.Copy
  - net.i2p.CoreVersion
  - freenet.support.CPUInformation.CPUID
  - freenet.support.CPUInformation.CPUID.CPUIDCPUInfo
    - freenet.support.CPUInformation.CPUID.AMDInfoImpl (implements freenet.support.CPUInformation.AMDCPUInfo)
    - freenet.support.CPUInformation.CPUID.IntelInfoImpl (implements freenet.support.CPUInformation.IntelCPUInfo)
    - freenet.support.CPUInformation.CPUID.VIAC3Impl (implements freenet.support.CPUInformation.CPUInfo)
  - freenet.support.CPUInformation.CPUID.CPUIDResult
  - net.i2p.crypto.CryptixAESKeyCache
  - net.i2p.crypto.CryptixAESKeyCache.KeyCacheEntry
  - net.i2p.crypto.CryptixRijndael_Algorithm
  - net.i2p.crypto.CryptoConstants
  - net.i2p.router.networkdb.DatabaseLookupMessageHandler (implements net.i2p.router.HandlerJobBuilder)
  - net.i2p.router.networkdb.DatabaseStoreMessageHandler (implements net.i2p.router.HandlerJobBuilder)
  - net.i2p.data.DataHelper
  - net.i2p.data.DataStructureImpl (implements net.i2p.data.DataStructure)
    - net.i2p.data.i2cp.AbuseReason
    - net.i2p.data.i2cp.AbuseSeverity
    - net.i2p.data.Address
    - net.i2p.data.Certificate
    - net.i2p.data.i2np.DeliveryInstructions
    - net.i2p.data.Destination
    - net.i2p.data.i2np.EndPointPrivateKey
    - net.i2p.data.i2np.EndPointPublicKey
    - net.i2p.data.i2np.GarlicClove
    - net.i2p.data.Hash
    - net.i2p.data.i2cp.I2CPMessageImpl (implements net.i2p.data.i2cp.I2CPMessage)
      - net.i2p.data.i2cp.CreateLeaseSetMessage
      - net.i2p.data.i2cp.CreateSessionMessage
      - net.i2p.data.i2cp.DestroySessionMessage
      - net.i2p.data.i2cp.DisconnectMessage
      - net.i2p.data.i2cp.GetDateMessage
      - net.i2p.data.i2cp.MessagePayloadMessage
      - net.i2p.data.i2cp.MessageStatusMessage
      - net.i2p.data.i2cp.ReceiveMessageBeginMessage
      - net.i2p.data.i2cp.ReceiveMessageEndMessage
      - net.i2p.data.i2cp.ReportAbuseMessage
      - net.i2p.data.i2cp.RequestLeaseSetMessage
      - net.i2p.data.i2cp.SendMessageMessage
      - net.i2p.data.i2cp.SessionStatusMessage
      - net.i2p.data.i2cp.SetDateMessage
    - net.i2p.data.i2np.I2NPMessageImpl (implements net.i2p.data.i2np.I2NPMessage)
      - net.i2p.data.i2np.DatabaseLookupMessage
      - net.i2p.data.i2np.DatabaseSearchReplyMessage
      - net.i2p.data.i2np.DatabaseStoreMessage
      - net.i2p.data.i2np.DataMessage
      - net.i2p.data.i2np.DateMessage
      - net.i2p.data.i2np.DeliveryStatusMessage
      - net.i2p.data.i2np.GarlicMessage
      - net.i2p.router.SSUDemo.FooMessage
      - net.i2p.data.i2np.TunnelBuildMessage
      - net.i2p.data.i2np.TunnelBuildReplyMessage
      - net.i2p.data.i2np.TunnelCreateMessage
      - net.i2p.data.i2np.TunnelCreateStatusMessage
      - net.i2p.data.i2np.TunnelDataMessage
      - net.i2p.data.i2np.TunnelGatewayMessage
    - net.i2p.data.Lease
    - net.i2p.data.LeaseSet
    - net.i2p.router.LeaseSetKeys
    - net.i2p.data.i2cp.MessageId
    - net.i2p.data.Payload
    - net.i2p.data.PrivateKey
    - net.i2p.data.PublicKey
    - net.i2p.data.RouterAddress
    - net.i2p.data.RouterIdentity
    - net.i2p.data.RouterInfo
    - net.i2p.data.i2cp.SessionConfig
    - net.i2p.data.i2cp.SessionId
    - net.i2p.data.SessionKey
    - net.i2p.data.Signature
    - net.i2p.data.SigningPrivateKey
    - net.i2p.data.SigningPublicKey
    - net.i2p.data.TunnelId
    - net.i2p.data.i2np.TunnelSessionKey
    - net.i2p.router.TunnelSettings
    - net.i2p.data.i2np.TunnelSigningPrivateKey
    - net.i2p.data.i2np.TunnelSigningPublicKey
    - net.i2p.data.i2np.TunnelVerificationStructure
  - net.i2p.router.peermanager.DBHistory
  - net.i2p.util.DecayingBloomFilter
  - net.i2p.util.Delete
  - net.i2p.crypto.DHSessionKeyBuilder
  - java.util.Dictionary<K,V>
    - java.util.Hashtable<K,V> (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
      - java.util.Properties
        - net.i2p.util.OrderedProperties
  - net.i2p.crypto.DSAEngine
    - net.i2p.crypto.DummyDSAEngine
  - net.i2p.router.DummyPeerManagerFacade (implements net.i2p.router.PeerManagerFacade)
  - net.i2p.router.DummyTunnelManagerFacade (implements net.i2p.router.TunnelManagerFacade)
  - net.i2p.router.tunnel.DummyValidator (implements net.i2p.router.tunnel.IVValidator)
  - net.i2p.util.EepGet
  - net.i2p.util.EepGetScheduler (implements net.i2p.util.EepGet.StatusListener)
  - net.i2p.util.EepPost
  - net.i2p.crypto.ElGamalAESEngine
  - net.i2p.crypto.ElGamalEngine
    - net.i2p.crypto.DummyElGamalEngine
  - net.i2p.router.transport.udp.EstablishmentManager
  - net.i2p.router.transport.ntcp.EstablishState
  - net.i2p.util.EventDispatcherImpl (implements net.i2p.util.EventDispatcher)
  - java.util.EventObject (implements java.io.Serializable)
    - gnu.crypto.prng.RandomEventStandalone
  - net.i2p.router.transport.ntcp.EventPumper (implements java.lang.Runnable)
  - net.i2p.util.Exec
  - net.i2p.util.Executor (implements java.lang.Runnable)
  - net.i2p.router.transport.FIFOBandwidthLimiter
  - net.i2p.router.transport.FIFOBandwidthRefiller (implements java.lang.Runnable)
  - net.i2p.util.FileUtil
  - net.i2p.router.networkdb.kademlia.FloodfillDatabaseLookupMessageHandler (implements net.i2p.router.HandlerJobBuilder)
  - net.i2p.router.networkdb.kademlia.FloodfillDatabaseStoreMessageHandler (implements net.i2p.router.HandlerJobBuilder)
  - net.i2p.router.networkdb.kademlia.FloodLookupSelector (implements net.i2p.router.MessageSelector)
  - net.i2p.router.networkdb.kademlia.FloodOnlyLookupSelector (implements net.i2p.router.MessageSelector)
  - net.i2p.router.web.FormHandler
    - net.i2p.router.web.ConfigAdvancedHandler
    - net.i2p.router.web.ConfigLoggingHandler
    - net.i2p.router.web.ConfigNetHandler
    - net.i2p.router.web.ConfigServiceHandler
    - net.i2p.router.web.ConfigStatsHandler
    - net.i2p.router.web.ConfigTunnelsHandler
    - net.i2p.router.web.ConfigUpdateHandler
  - net.i2p.router.tunnel.FragmentedMessage
  - net.i2p.router.tunnel.FragmentHandler
    - net.i2p.router.tunnel.RouterFragmentHandler
  - net.i2p.stat.Frequency
  - net.i2p.stat.FrequencyStat
  - net.i2p.router.message.GarlicConfig
    - net.i2p.router.message.PayloadGarlicConfig
  - net.i2p.router.message.GarlicMessageBuilder
  - net.i2p.router.message.GarlicMessageHandler (implements net.i2p.router.HandlerJobBuilder)
  - net.i2p.router.message.GarlicMessageParser
  - net.i2p.router.message.GarlicMessageReceiver
  - org.bouncycastle.crypto.digests.GeneralDigest (implements org.bouncycastle.crypto.Digest)
    - org.bouncycastle.crypto.digests.MD5Digest
  - net.i2p.router.web.GraphHelper
  - net.i2p.client.HandlerImpl (implements net.i2p.client.I2CPMessageHandler)
    - net.i2p.client.DisconnectMessageHandler
    - net.i2p.client.MessagePayloadMessageHandler
    - net.i2p.client.MessageStatusMessageHandler
    - net.i2p.client.RequestLeaseSetMessageHandler
    - net.i2p.client.SessionStatusMessageHandler
    - net.i2p.client.SetDateMessageHandler
  - net.i2p.router.tunnel.pool.HandleTunnelCreateMessageJob.Builder (implements net.i2p.router.HandlerJobBuilder)
  - net.i2p.router.tunnel.HashSetIVValidator (implements net.i2p.router.tunnel.IVValidator)
  - net.i2p.util.HexDump
  - org.bouncycastle.crypto.macs.HMac (implements org.bouncycastle.crypto.Mac)
  - net.i2p.crypto.HMACGenerator
    - net.i2p.crypto.HMAC256Generator
  - net.i2p.router.tunnel.HopConfig
  - net.i2p.router.tunnel.HopProcessor
    - net.i2p.router.tunnel.InboundGatewayProcessor
  - net.i2p.util.HTTPSendData
  - net.i2p.data.i2cp.I2CPMessageHandler
  - net.i2p.client.I2CPMessageProducer
  - net.i2p.data.i2cp.I2CPMessageReader
  - net.i2p.data.i2np.I2NPMessageHandler
  - net.i2p.data.i2np.I2NPMessageReader
  - net.i2p.I2PAppContext
    - net.i2p.router.RouterContext
  - net.i2p.client.I2PClientFactory
  - net.i2p.client.I2PClientImpl (implements net.i2p.client.I2PClient)
  - net.i2p.client.I2PClientMessageHandlerMap
  - net.i2p.client.datagram.I2PDatagramDissector
  - net.i2p.client.datagram.I2PDatagramMaker
  - net.i2p.client.streaming.I2PServerSocketFull (implements net.i2p.client.streaming.I2PServerSocket)
  - net.i2p.client.streaming.I2PServerSocketImpl (implements net.i2p.client.streaming.I2PServerSocket)
  - net.i2p.client.I2PSessionImpl (implements net.i2p.data.i2cp.I2CPMessageReader.I2CPMessageEventListener, net.i2p.client.I2PSession)
    - net.i2p.client.I2PSessionImpl2
  - net.i2p.client.streaming.I2PSocketFull (implements net.i2p.client.streaming.I2PSocket)
  - net.i2p.client.streaming.I2PSocketImpl (implements net.i2p.client.streaming.I2PSocket)
  - net.i2p.client.streaming.I2PSocketManagerFactory
  - net.i2p.client.streaming.I2PSocketManagerFull (implements net.i2p.client.streaming.I2PSocketManager)
  - net.i2p.client.streaming.I2PSocketManagerImpl (implements net.i2p.client.I2PSessionListener, net.i2p.client.streaming.I2PSocketManager)
  - net.i2p.client.streaming.I2PSocketOptionsImpl (implements net.i2p.client.streaming.I2PSocketOptions)
    - net.i2p.client.streaming.ConnectionOptions
  - net.i2p.i2ptunnel.I2PTunnel (implements net.i2p.util.EventDispatcher, net.i2p.i2ptunnel.Logging)
  - net.i2p.i2ptunnel.I2PTunnelTask (implements net.i2p.util.EventDispatcher)
    - net.i2p.i2ptunnel.I2Ping (implements java.lang.Runnable)
    - net.i2p.i2ptunnel.I2PTunnelClientBase (implements java.lang.Runnable)
      - net.i2p.i2ptunnel.socks.I2PSOCKSTunnel
      - net.i2p.i2ptunnel.I2PTunnelClient
      - net.i2p.i2ptunnel.I2PTunnelHTTPClient (implements java.lang.Runnable)
      - net.i2p.i2ptunnel.I2PTunnelIRCClient (implements java.lang.Runnable)
    - net.i2p.i2ptunnel.I2PTunnelServer (implements java.lang.Runnable)
      - net.i2p.i2ptunnel.I2PTunnelHTTPServer
  - net.i2p.router.tunnel.InboundEndpointProcessor
  - net.i2p.router.transport.udp.InboundEstablishState
  - net.i2p.router.tunnel.InboundGatewayReceiver (implements net.i2p.router.tunnel.TunnelGateway.Receiver)
  - net.i2p.router.tunnel.InboundMessageDistributor (implements net.i2p.router.message.GarlicMessageReceiver.CloveReceiver)
  - net.i2p.router.transport.udp.InboundMessageFragments
  - net.i2p.router.transport.udp.InboundMessageState
  - net.i2p.router.tunnel.InboundSender (implements net.i2p.router.tunnel.TunnelGateway.Sender)
  - net.i2p.i2ptunnel.web.IndexBean
    - net.i2p.i2ptunnel.web.EditBean
  - net.i2p.router.InNetMessagePool (implements net.i2p.router.Service)
  - java.io.InputStream (implements java.io.Closeable)
    - java.io.FilterInputStream
      - net.i2p.crypto.AESInputStream
      - net.i2p.router.transport.BandwidthLimitedInputStream
      - java.util.zip.InflaterInputStream
        - net.i2p.util.ResettableGZIPInputStream
          - net.i2p.util.ReusableGZIPInputStream
      - net.i2p.util.LookaheadInputStream
    - net.i2p.client.streaming.MessageInputStream
  - net.i2p.router.transport.udp.IntroductionManager
  - net.i2p.router.peermanager.InverseCapacityComparator (implements java.util.Comparator<T>)
  - net.i2p.router.JobImpl (implements net.i2p.router.Job)
    - net.i2p.router.startup.BootCommSystemJob
    - net.i2p.router.startup.BootNetworkDbJob
    - net.i2p.router.message.BuildTestMessageJob
    - net.i2p.router.startup.BuildTrustedLinksJob
    - net.i2p.router.startup.CreateRouterInfoJob
    - net.i2p.router.client.CreateSessionJob
    - net.i2p.router.networkdb.kademlia.DataPublisherJob
    - net.i2p.router.networkdb.kademlia.DataRepublishingSelectorJob
    - net.i2p.router.tunnel.pool.ExpireJob
    - net.i2p.router.networkdb.kademlia.ExpireLeasesJob
    - net.i2p.router.networkdb.kademlia.ExpireRoutersJob
    - net.i2p.router.networkdb.kademlia.ExploreKeySelectorJob
    - net.i2p.router.networkdb.kademlia.FloodfillVerifyStoreJob
    - net.i2p.router.networkdb.kademlia.FloodLookupMatchJob (implements net.i2p.router.ReplyJob)
    - net.i2p.router.networkdb.kademlia.FloodLookupTimeoutJob
    - net.i2p.router.networkdb.kademlia.FloodOnlyLookupMatchJob (implements net.i2p.router.ReplyJob)
    - net.i2p.router.networkdb.kademlia.FloodOnlyLookupTimeoutJob
    - net.i2p.router.networkdb.kademlia.FloodSearchJob
      - net.i2p.router.networkdb.kademlia.FloodOnlySearchJob
    - net.i2p.router.transport.GetBidsJob
    - net.i2p.router.networkdb.HandleDatabaseLookupMessageJob
      - net.i2p.router.networkdb.kademlia.HandleFloodfillDatabaseLookupMessageJob
    - net.i2p.router.networkdb.HandleDatabaseStoreMessageJob
    - net.i2p.router.networkdb.kademlia.HandleFloodfillDatabaseStoreMessageJob
    - net.i2p.router.message.HandleGarlicMessageJob (implements net.i2p.router.message.GarlicMessageReceiver.CloveReceiver)
    - net.i2p.router.tunnel.pool.HandleTunnelCreateMessageJob
    - net.i2p.router.networkdb.kademlia.HarvesterJob
    - net.i2p.router.startup.LoadClientAppsJob
    - net.i2p.router.startup.LoadRouterInfoJob
    - net.i2p.router.client.MessageReceivedJob
    - net.i2p.router.networkdb.kademlia.OnRepublishFailure
    - net.i2p.router.networkdb.kademlia.OnRepublishSuccess
    - net.i2p.router.message.OutboundClientMessageOneShotJob
    - net.i2p.router.peermanager.PeerTestJob
    - net.i2p.router.peermanager.PersistProfileJob
    - net.i2p.router.peermanager.PersistProfilesJob
    - net.i2p.router.PersistRouterInfoJob
    - net.i2p.router.networkdb.PublishLocalRouterInfoJob
    - net.i2p.router.startup.ReadConfigJob
    - net.i2p.router.startup.RebuildRouterInfoJob
    - net.i2p.router.networkdb.kademlia.ReplyNotVerifiedJob
    - net.i2p.router.networkdb.kademlia.ReplyVerifiedJob
    - net.i2p.router.client.ReportAbuseJob
    - net.i2p.router.networkdb.kademlia.RepublishLeaseSetJob
    - net.i2p.router.client.RequestLeaseSetJob
    - net.i2p.router.networkdb.kademlia.SearchJob
      - net.i2p.router.networkdb.kademlia.ExploreJob
    - net.i2p.router.networkdb.kademlia.SearchJob.FailedJob
    - net.i2p.router.networkdb.kademlia.SearchReplyJob
    - net.i2p.router.networkdb.kademlia.SearchUpdateReplyFoundJob (implements net.i2p.router.ReplyJob)
    - net.i2p.router.message.SendGarlicJob
    - net.i2p.router.tunnel.pool.SendGarlicMessageJob
    - net.i2p.router.message.SendMessageDirectJob
    - net.i2p.router.startup.StartAcceptingClientsJob
    - net.i2p.router.networkdb.kademlia.StartExplorersJob
    - net.i2p.router.startup.StartupJob
    - net.i2p.router.networkdb.kademlia.StoreJob
      - net.i2p.router.networkdb.kademlia.FloodfillStoreJob
    - net.i2p.router.SubmitMessageHistoryJob
    - net.i2p.router.tunnel.pool.TestJob
    - net.i2p.router.UpdateRoutingKeyModifierJob
  - net.i2p.router.JobQueue
  - net.i2p.router.web.JobQueueHelper
  - net.i2p.router.JobQueueRunner (implements java.lang.Runnable)
  - net.i2p.router.JobStats
  - net.i2p.router.JobTiming (implements net.i2p.util.Clock.ClockUpdateListener)
  - net.i2p.router.networkdb.kademlia.KBucketImpl (implements net.i2p.router.networkdb.kademlia.KBucket)
  - net.i2p.router.networkdb.kademlia.KBucketSet
  - net.i2p.crypto.KeyGenerator
  - net.i2p.router.KeyManager
  - org.xlattice.crypto.filters.KeySelector
  - org.xlattice.crypto.filters.KeySelector.GenericBitSelector (implements org.xlattice.crypto.filters.KeySelector.BitSelector)
  - org.xlattice.crypto.filters.KeySelector.GenericWordSelector (implements org.xlattice.crypto.filters.KeySelector.WordSelector)
  - net.i2p.router.client.LeaseRequestState
  - net.i2p.router.LoadTestManager
  - net.i2p.util.Log
  - net.i2p.util.LogConsoleBuffer
  - net.i2p.util.LogLimit
  - net.i2p.util.LogManager
  - net.i2p.util.LogRecord
  - net.i2p.util.LogRecordFormatter
  - net.i2p.router.web.LogsHelper
  - net.i2p.util.LogWriter (implements java.lang.Runnable)
  - net.i2p.router.MarkLiveliness (implements java.lang.Runnable)
  - java.security.MessageDigestSpi
    - java.security.MessageDigest
      - net.i2p.crypto.SHA1 (implements java.lang.Cloneable)
  - net.i2p.router.transport.tcp.MessageHandler (implements net.i2p.data.i2np.I2NPMessageReader.I2NPMessageEventListener)
  - net.i2p.client.streaming.MessageHandler (implements net.i2p.client.I2PSessionListener)
  - net.i2p.router.MessageHistory
  - net.i2p.router.transport.udp.MessageReceiver
  - net.i2p.router.MessageReceptionInfo
  - net.i2p.client.MessageState
  - net.i2p.router.MessageStateMonitor
  - net.i2p.router.MessageValidator
  - net.i2p.router.MultiRouter
  - net.i2p.router.MultiRouterBuilder
  - net.i2p.client.naming.NamingService
    - net.i2p.client.naming.AddressDBNamingService
    - net.i2p.client.naming.DummyNamingService
    - net.i2p.client.naming.HostsTxtNamingService
    - net.i2p.client.naming.MetaNamingService
    - net.i2p.client.naming.PetNameNamingService
  - net.i2p.router.web.NavHelper
  - net.i2p.router.web.NetDbHelper
  - net.i2p.router.NetworkDatabaseFacade (implements net.i2p.router.Service)
    - net.i2p.router.DummyNetworkDatabaseFacade
    - net.i2p.router.networkdb.kademlia.KademliaNetworkDatabaseFacade
      - net.i2p.router.networkdb.kademlia.FloodfillNetworkDatabaseFacade
  - net.i2p.router.web.NewsFetcher (implements net.i2p.util.EepGet.StatusListener, java.lang.Runnable)
  - net.i2p.router.web.NoticeHelper
  - net.i2p.router.transport.ntcp.NTCPAddress
  - net.i2p.router.transport.ntcp.NTCPConnection (implements net.i2p.router.transport.FIFOBandwidthLimiter.CompleteListener)
  - net.i2p.time.NtpClient
  - net.i2p.time.NtpMessage
  - java.lang.Number (implements java.io.Serializable)
    - java.math.BigInteger (implements java.lang.Comparable<T>)
      - net.i2p.util.NativeBigInteger
  - net.i2p.router.web.OldConsoleHelper
  - net.i2p.router.message.OutboundClientMessageJobHelper
  - net.i2p.router.message.OutboundClientMessageStatus
  - net.i2p.router.transport.udp.OutboundEstablishState
  - net.i2p.router.tunnel.OutboundGatewayProcessor
  - net.i2p.router.tunnel.OutboundMessageDistributor
  - net.i2p.router.transport.udp.OutboundMessageFragments
  - net.i2p.router.transport.OutboundMessageRegistry
  - net.i2p.router.transport.udp.OutboundMessageState
  - net.i2p.router.tunnel.OutboundReceiver (implements net.i2p.router.tunnel.TunnelGateway.Receiver)
  - net.i2p.router.transport.udp.OutboundRefiller (implements java.lang.Runnable)
  - net.i2p.router.tunnel.OutboundSender (implements net.i2p.router.tunnel.TunnelGateway.Sender)
  - net.i2p.router.tunnel.OutboundTunnelEndpoint
  - net.i2p.router.OutNetMessage
  - net.i2p.router.OutNetMessagePool
  - java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
    - java.io.ByteArrayOutputStream
      - net.i2p.util.CachingByteArrayOutputStream
    - java.io.FilterOutputStream
      - net.i2p.crypto.AESOutputStream
      - net.i2p.router.transport.BandwidthLimitedOutputStream
      - java.util.zip.DeflaterOutputStream
        - net.i2p.util.ResettableGZIPOutputStream
          - net.i2p.util.ReusableGZIPOutputStream
      - net.i2p.i2ptunnel.HTTPResponseOutputStream
    - net.i2p.client.streaming.MessageOutputStream
    - net.i2p.router.web.WriterOutputStream
  - net.i2p.client.streaming.Packet
    - net.i2p.client.streaming.PacketLocal (implements net.i2p.client.streaming.MessageOutputStream.WriteStatus)
  - net.i2p.router.transport.udp.PacketBuilder
  - net.i2p.router.transport.udp.PacketHandler
  - net.i2p.client.streaming.PacketHandler
  - net.i2p.router.transport.udp.PacketPusher (implements java.lang.Runnable)
  - net.i2p.client.streaming.PacketQueue
  - net.i2p.router.web.PeerHelper
  - net.i2p.router.peermanager.PeerManager
  - net.i2p.router.peermanager.PeerManagerFacadeImpl (implements net.i2p.router.PeerManagerFacade)
  - net.i2p.router.peermanager.PeerProfile
  - net.i2p.router.PeerSelectionCriteria
  - net.i2p.router.networkdb.kademlia.PeerSelector
    - net.i2p.router.networkdb.kademlia.FloodfillPeerSelector
  - net.i2p.router.transport.udp.PeerState
  - net.i2p.router.transport.udp.PeerTestManager
  - net.i2p.router.transport.udp.PeerTestState
  - net.i2p.stat.PersistenceHelper
  - net.i2p.client.naming.PetName
  - net.i2p.client.naming.PetNameDB
  - net.i2p.router.peermanager.ProfileManagerImpl (implements net.i2p.router.ProfileManager)
  - net.i2p.router.peermanager.ProfileOrganizer
  - net.i2p.router.peermanager.ProfileOrganizerRenderer
  - net.i2p.router.peermanager.ProfilePersistenceHelper
  - net.i2p.router.web.ProfilesHelper
  - java.util.Random (implements java.io.Serializable)
    - java.security.SecureRandom
      - net.i2p.util.RandomSource (implements net.i2p.crypto.EntropyHarvester)
        - net.i2p.util.BufferedRandomSource
        - net.i2p.util.FortunaRandomSource (implements net.i2p.crypto.EntropyHarvester)
        - net.i2p.util.PooledRandomSource
          - net.i2p.crypto.DummyPooledRandomSource
  - net.i2p.stat.Rate
  - net.i2p.stat.RateStat
  - net.i2p.router.transport.ntcp.Reader
  - net.i2p.router.transport.udp.RemoteHostId
  - net.i2p.router.web.ReseedHandler
  - net.i2p.router.web.ReseedHandler.ReseedRunner (implements net.i2p.util.EepGet.StatusListener, java.lang.Runnable)
  - net.i2p.router.Router
  - net.i2p.router.web.RouterConsoleRunner
  - net.i2p.router.networkdb.kademlia.RouterGenerator
  - net.i2p.router.RouterLaunch
  - net.i2p.router.RouterThrottleImpl (implements net.i2p.router.RouterThrottle)
    - net.i2p.router.RouterDoSThrottle
  - net.i2p.router.RouterVersion
  - net.i2p.router.RouterWatchdog (implements java.lang.Runnable)
  - net.i2p.data.RoutingKeyGenerator
  - net.i2p.client.streaming.SchedulerChooser
  - net.i2p.client.streaming.SchedulerImpl (implements net.i2p.client.streaming.TaskScheduler)
    - net.i2p.client.streaming.SchedulerClosed
    - net.i2p.client.streaming.SchedulerClosing
    - net.i2p.client.streaming.SchedulerConnectedBulk
    - net.i2p.client.streaming.SchedulerConnecting
    - net.i2p.client.streaming.SchedulerDead
    - net.i2p.client.streaming.SchedulerHardDisconnected
    - net.i2p.client.streaming.SchedulerPreconnect
    - net.i2p.client.streaming.SchedulerReceived
  - net.i2p.router.networkdb.kademlia.SearchMessageSelector (implements net.i2p.router.MessageSelector)
  - net.i2p.router.networkdb.kademlia.SearchState
  - net.i2p.router.web.ServiceManager
  - net.i2p.crypto.SessionKeyManager
    - net.i2p.crypto.TransientSessionKeyManager
      - net.i2p.crypto.PersistentSessionKeyManager
  - net.i2p.router.SessionKeyPersistenceHelper (implements net.i2p.router.Service)
  - net.i2p.crypto.SHA1Test
  - net.i2p.crypto.SHA256Generator
  - net.i2p.util.ShellCommand
  - net.i2p.router.Shitlist
  - net.i2p.stat.SimpleStatDumper
  - net.i2p.util.SimpleTimer
    - net.i2p.router.tunnel.FlushTimer
    - net.i2p.client.streaming.RetransmissionTimer
  - net.i2p.stat.SizeTest
  - net.i2p.util.SocketTimeout (implements net.i2p.util.SimpleTimer.TimedEvent)
  - net.i2p.i2ptunnel.socks.SOCKSServer
    - net.i2p.i2ptunnel.socks.SOCKS5Server
  - net.i2p.i2ptunnel.socks.SOCKSServerFactory
  - net.i2p.router.SSUDemo
  - net.i2p.router.web.StatHelper
  - net.i2p.router.StatisticsManager (implements net.i2p.router.Service)
  - net.i2p.stat.StatLogSplitter
  - net.i2p.stat.StatManager
  - net.i2p.router.admin.StatsGenerator
  - net.i2p.router.web.StatSummarizer (implements java.lang.Runnable)
  - net.i2p.router.networkdb.kademlia.StoreMessageSelector (implements net.i2p.router.MessageSelector)
  - net.i2p.router.networkdb.kademlia.StoreState
  - net.i2p.client.streaming.StreamSinkClient
  - net.i2p.client.streaming.StreamSinkSend
  - net.i2p.client.streaming.StreamSinkServer
  - net.i2p.router.web.SummaryHelper
  - net.i2p.router.web.SummaryListener (implements net.i2p.stat.RateSummaryListener)
  - net.i2p.router.web.SummaryRenderer
  - net.i2p.apps.systray.SysTray (implements snoozesoft.systray4j.SysTrayMenuListener)
  - net.i2p.router.transport.tcp.TCPAddress
  - net.i2p.router.transport.tcp.TCPConnection
  - net.i2p.router.transport.tcp.TCPConnectionEstablisher (implements java.lang.Runnable)
  - net.i2p.router.transport.tcp.TCPListener
  - net.i2p.router.transport.tcp.TCPListener.ListenerRunner (implements java.lang.Runnable)
  - net.i2p.client.streaming.TestSwarm
  - java.lang.Thread (implements java.lang.Runnable)
    - net.i2p.util.I2PThread
      - net.i2p.i2ptunnel.I2Ping.PingHandler
      - net.i2p.i2ptunnel.I2PTunnelRunner (implements net.i2p.client.streaming.I2PSocket.SocketErrorListener)
        - net.i2p.i2ptunnel.I2PTunnelHTTPClientRunner
    - net.i2p.router.ShutdownHook
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - net.i2p.I2PException
        - net.i2p.data.DataFormatException
        - net.i2p.crypto.DHSessionKeyBuilder.InvalidPublicParameterException
        - net.i2p.data.i2cp.I2CPMessageException
        - net.i2p.data.i2np.I2NPMessageException
        - net.i2p.client.I2PSessionException
        - net.i2p.client.streaming.TooManyStreamsException
      - net.i2p.client.datagram.I2PInvalidDatagramException
      - gnu.crypto.prng.LimitReachedExceptionStandalone
      - java.lang.RuntimeException
        - freenet.support.CPUInformation.UnknownCPUException
      - net.i2p.i2ptunnel.socks.SOCKSException
  - net.i2p.router.transport.udp.TimedWeightedPriorityMessageQueue (implements net.i2p.router.transport.udp.MessageQueue, net.i2p.router.transport.udp.OutboundMessageFragments.ActiveThrottle)
  - net.i2p.time.Timestamper (implements java.lang.Runnable)
  - net.i2p.router.networkdb.kademlia.TransientDataStore (implements net.i2p.router.networkdb.kademlia.DataStore)
    - net.i2p.router.networkdb.kademlia.PersistentDataStore
  - net.i2p.crypto.TransientSessionKeyManager.OutboundSession
  - net.i2p.crypto.TransientSessionKeyManager.TagSet
  - net.i2p.router.transport.TransportBid
  - net.i2p.router.transport.TransportImpl (implements net.i2p.router.transport.Transport)
    - net.i2p.router.transport.ntcp.NTCPTransport
    - net.i2p.router.transport.tcp.TCPTransport
    - net.i2p.router.transport.udp.UDPTransport (implements net.i2p.router.transport.udp.TimedWeightedPriorityMessageQueue.FailedListener)
  - net.i2p.router.transport.TransportManager (implements net.i2p.router.transport.TransportEventListener)
  - net.i2p.router.tunnel.TrivialPreprocessor (implements net.i2p.router.tunnel.TunnelGateway.QueuePreprocessor)
    - net.i2p.router.tunnel.BatchedPreprocessor
      - net.i2p.router.tunnel.BatchedRouterPreprocessor
    - net.i2p.router.tunnel.TrivialRouterPreprocessor
  - net.i2p.crypto.TrustedUpdate
  - net.i2p.i2ptunnel.TunnelController (implements net.i2p.i2ptunnel.Logging)
  - net.i2p.i2ptunnel.TunnelControllerGroup
  - net.i2p.router.tunnel.TunnelCreatorConfig (implements net.i2p.router.TunnelInfo)
    - net.i2p.router.tunnel.pool.PooledTunnelCreatorConfig
  - net.i2p.router.tunnel.TunnelDispatcher (implements net.i2p.router.Service)
  - net.i2p.router.tunnel.TunnelGateway
    - net.i2p.router.tunnel.PumpedTunnelGateway
    - net.i2p.router.tunnel.TunnelGatewayZeroHop
  - net.i2p.router.tunnel.TunnelGateway.Pending
    - net.i2p.router.tunnel.TunnelGateway.PendingImpl
  - net.i2p.router.tunnel.TunnelGatewayPumper (implements java.lang.Runnable)
  - net.i2p.router.web.TunnelHelper
  - net.i2p.router.peermanager.TunnelHistory
  - net.i2p.router.tunnel.pool.TunnelMessageHandlerBuilder (implements net.i2p.router.HandlerJobBuilder)
  - net.i2p.router.tunnel.TunnelParticipant
  - net.i2p.router.tunnel.pool.TunnelPeerSelector
    - net.i2p.router.tunnel.pool.ClientPeerSelector
    - net.i2p.router.tunnel.pool.ExploratoryPeerSelector
  - net.i2p.router.tunnel.pool.TunnelPool
  - net.i2p.router.tunnel.pool.TunnelPoolManager (implements net.i2p.router.TunnelManagerFacade)
  - net.i2p.router.TunnelPoolSettings
  - net.i2p.router.TunnelSelectionCriteria
  - net.i2p.router.transport.udp.UDPAddress
  - net.i2p.router.transport.udp.UDPEndpoint
  - net.i2p.router.transport.udp.UDPEndpointTest
  - net.i2p.router.transport.udp.UDPFlooder (implements java.lang.Runnable)
  - net.i2p.router.transport.udp.UDPPacket
  - net.i2p.router.transport.udp.UDPPacketReader
  - net.i2p.router.transport.udp.UDPPacketReader.DataReader
  - net.i2p.router.transport.udp.UDPPacketReader.PeerTestReader
  - net.i2p.router.transport.udp.UDPPacketReader.RelayIntroReader
  - net.i2p.router.transport.udp.UDPPacketReader.RelayRequestReader
  - net.i2p.router.transport.udp.UDPPacketReader.RelayResponseReader
  - net.i2p.router.transport.udp.UDPPacketReader.SessionConfirmedReader
  - net.i2p.router.transport.udp.UDPPacketReader.SessionCreatedReader
  - net.i2p.router.transport.udp.UDPPacketReader.SessionRequestReader
  - net.i2p.router.transport.udp.UDPReceiver
  - net.i2p.router.transport.udp.UDPSender
  - net.i2p.router.web.UpdateHandler
  - net.i2p.router.web.UpdateHandler.UpdateRunner (implements net.i2p.util.EepGet.StatusListener, java.lang.Runnable)
  - net.i2p.apps.systray.UrlLauncher
  - net.i2p.router.transport.ntcp.Writer
  - net.i2p.router.networkdb.kademlia.XORComparator (implements java.util.Comparator<T>)
  - net.i2p.crypto.YKGenerator

## Interface Hierarchy

- net.i2p.router.transport.udp.ACKBitfield
- net.i2p.util.Clock.ClockUpdateListener
- java.lang.Cloneable
  - gnu.crypto.hash.IMessageDigestStandalone
  - gnu.crypto.prng.IRandomStandalone
- net.i2p.client.streaming.ConnectionManager.PingNotifier
- freenet.support.CPUInformation.CPUInfo
  - freenet.support.CPUInformation.AMDCPUInfo
  - freenet.support.CPUInformation.IntelCPUInfo
- net.i2p.router.networkdb.kademlia.DataStore
- net.i2p.data.DataStructure
  - net.i2p.data.i2cp.I2CPMessage
  - net.i2p.data.i2np.I2NPMessage
- org.bouncycastle.crypto.Digest
- net.i2p.util.EepGet.StatusListener
- net.i2p.crypto.EntropyHarvester
- net.i2p.util.EventDispatcher
- java.util.EventListener
  - gnu.crypto.prng.RandomEventListenerStandalone
- net.i2p.router.transport.FIFOBandwidthLimiter.CompleteListener
- net.i2p.router.transport.FIFOBandwidthLimiter.Request
- net.i2p.router.tunnel.FragmentHandler.DefragmentedReceiver
- net.i2p.router.message.GarlicMessageReceiver.CloveReceiver
- net.i2p.router.HandlerJobBuilder
- net.i2p.client.I2CPMessageHandler
- net.i2p.data.i2cp.I2CPMessageReader.I2CPMessageEventListener
- net.i2p.data.i2np.I2NPMessageImpl.Builder
- net.i2p.data.i2np.I2NPMessageReader.I2NPMessageEventListener
- net.i2p.client.I2PClient
- net.i2p.client.streaming.I2PServerSocket
- net.i2p.client.I2PSession
- net.i2p.client.I2PSessionListener
- net.i2p.client.streaming.I2PSocket
- net.i2p.client.streaming.I2PSocket.SocketErrorListener
- net.i2p.client.streaming.I2PSocketManager
- net.i2p.client.streaming.I2PSocketManager.DisconnectListener
- net.i2p.client.streaming.I2PSocketOptions
- net.i2p.util.I2PThread.OOMEventListener
- net.i2p.i2ptunnel.I2PTunnel.ConnectionEventListener
- net.i2p.router.tunnel.IVValidator
- net.i2p.router.Job
  - net.i2p.router.ReplyJob
- net.i2p.router.networkdb.kademlia.KBucket
- org.xlattice.crypto.filters.KeySelector.BitSelector
- org.xlattice.crypto.filters.KeySelector.WordSelector
- net.i2p.i2ptunnel.Logging
- org.bouncycastle.crypto.Mac
- net.i2p.client.streaming.MessageOutputStream.DataReceiver
- net.i2p.client.streaming.MessageOutputStream.WriteStatus
- net.i2p.router.transport.udp.MessageQueue
- net.i2p.router.MessageSelector
- net.i2p.router.transport.udp.OutboundMessageFragments.ActiveThrottle
- net.i2p.router.ProfileManager
- net.i2p.stat.RateSummaryListener
- net.i2p.router.RouterThrottle
- net.i2p.router.networkdb.kademlia.SelectionCollector
- net.i2p.router.Service
  - net.i2p.router.PeerManagerFacade
  - net.i2p.router.TunnelManagerFacade
- net.i2p.util.SimpleTimer.TimedEvent
- net.i2p.stat.StatLog
- net.i2p.client.streaming.TaskScheduler
- net.i2p.router.transport.udp.TimedWeightedPriorityMessageQueue.FailedListener
- net.i2p.time.Timestamper.UpdateListener
- net.i2p.router.transport.Transport
- net.i2p.router.transport.TransportEventListener
- net.i2p.router.tunnel.TunnelGateway.QueuePreprocessor
- net.i2p.router.tunnel.TunnelGateway.Receiver
- net.i2p.router.tunnel.TunnelGateway.Sender
- net.i2p.router.TunnelInfo