<?xml version="1.0" encoding="UTF-8"?>
<Diagram>
  <ID>JAVA</ID>
  <OriginalElement>java.util.Collection</OriginalElement>
  <nodes>
    <node x="1667.5726084812613" y="438.0">java.util.concurrent.LinkedTransferQueue</node>
    <node x="40.083333333333485" y="326.0">java.util.SortedSet</node>
    <node x="1899.5726084812613" y="438.0">java.util.concurrent.SynchronousQueue</node>
    <node x="1483.5726084812613" y="438.0">java.util.concurrent.BlockingDeque</node>
    <node x="812.651257396449" y="82.0">java.util.Collection</node>
    <node x="120.33333333333348" y="214.0">java.util.Set</node>
    <node x="1538.5679240631157" y="326.0">java.util.concurrent.BlockingQueue</node>
    <node x="27.583333333333485" y="438.0">java.util.NavigableSet</node>
    <node x="1418.5679240631157" y="326.0">java.util.Deque</node>
    <node x="198.58333333333348" y="326.0">java.util.concurrent.CopyOnWriteArraySet</node>
    <node x="1012.5726084812613" y="438.0">java.util.concurrent.LinkedBlockingQueue</node>
    <node x="820.651257396449" y="0.0">java.lang.Iterable</node>
    <node x="1246.5726084812613" y="438.0">java.util.concurrent.PriorityBlockingQueue</node>
    <node x="389.58333333333337" y="214.0">java.util.RandomAccess</node>
    <node x="788.5726084812613" y="438.0">java.util.concurrent.ArrayBlockingQueue</node>
    <node x="573.5833333333334" y="214.0">java.util.List</node>
    <node x="0.0" y="520.0">java.util.concurrent.ConcurrentSkipListSet</node>
    <node x="2149.0982495069024" y="520.0">java.util.concurrent.LinkedBlockingDeque</node>
    <node x="2118.5726084812613" y="438.0">java.util.concurrent.DelayQueue</node>
    <node x="1494.5679240631157" y="214.0">java.util.Queue</node>
    <node x="688.0448717948717" y="326.0">java.util.concurrent.ConcurrentLinkedQueue</node>
    <node x="433.58333333333337" y="326.0">java.util.concurrent.CopyOnWriteArrayList</node>
  </nodes>
  <notes />
  <edges>
    <edge source="java.util.concurrent.PriorityBlockingQueue" target="java.util.Queue">
      <point x="0.0" y="-16.0" />
      <point x="1355.0726084812613" y="296.0" />
      <point x="1529.5679240631157" y="296.0" />
      <point x="-15.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.SynchronousQueue" target="java.util.concurrent.BlockingQueue">
      <point x="-66.33333333333326" y="-16.0" />
      <point x="1932.739275147928" y="388.0" />
      <point x="1667.4250669202584" y="388.0" />
      <point x="46.85714285714289" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.PriorityBlockingQueue" target="java.util.Collection">
      <point x="-72.33333333333331" y="-16.0" />
      <point x="1282.739275147928" y="378.0" />
      <point x="932.5448717948717" y="378.0" />
      <point x="932.5448717948717" y="194.0" />
      <point x="883.6127958579875" y="194.0" />
      <point x="9.461538461538566" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.CopyOnWriteArrayList" target="java.util.List">
      <point x="54.0" y="-16.0" />
      <point x="595.5833333333334" y="306.0" />
      <point x="611.5833333333334" y="306.0" />
      <point x="0.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.LinkedTransferQueue" target="java.util.Collection">
      <point x="70.66666666666652" y="-16.0" />
      <point x="1844.2392751479279" y="398.0" />
      <point x="2285.3226084812613" y="398.0" />
      <point x="2285.3226084812613" y="174.0" />
      <point x="902.5358727810644" y="174.0" />
      <point x="28.384615384615472" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.LinkedTransferQueue" target="java.util.Queue">
      <point x="0.0" y="-16.0" />
      <point x="1773.5726084812613" y="296.0" />
      <point x="1559.5679240631157" y="296.0" />
      <point x="15.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.CopyOnWriteArrayList" target="java.util.RandomAccess">
      <point x="-54.0" y="-16.0" />
      <point x="487.58333333333337" y="306.0" />
      <point x="471.58333333333337" y="306.0" />
      <point x="0.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.ArrayBlockingQueue" target="java.util.concurrent.BlockingQueue">
      <point x="68.0" y="-16.0" />
      <point x="958.5726084812613" y="398.0" />
      <point x="1550.2822097774015" y="398.0" />
      <point x="-70.28571428571422" y="16.0" />
    </edge>
    <edge source="java.util.SortedSet" target="java.util.Set">
      <point x="0.0" y="-16.0" />
      <point x="102.58333333333348" y="306.0" />
      <point x="132.83333333333348" y="306.0" />
      <point x="-25.0" y="16.0" />
    </edge>
    <edge source="java.util.NavigableSet" target="java.util.SortedSet">
      <point x="0.0" y="-16.0" />
      <point x="0.0" y="16.0" />
    </edge>
    <edge source="java.util.Queue" target="java.util.Collection">
      <point x="0.0" y="-16.0" />
      <point x="1544.5679240631157" y="184.0" />
      <point x="893.0743343195259" y="184.0" />
      <point x="18.923076923076906" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.SynchronousQueue" target="java.util.Collection">
      <point x="66.33333333333326" y="-16.0" />
      <point x="2065.4059418145944" y="408.0" />
      <point x="2294.7841469427995" y="408.0" />
      <point x="2294.7841469427995" y="164.0" />
      <point x="911.9974112426028" y="164.0" />
      <point x="37.84615384615381" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.SynchronousQueue" target="java.util.Queue">
      <point x="0.0" y="-16.0" />
      <point x="1999.0726084812613" y="286.0" />
      <point x="1569.5679240631157" y="286.0" />
      <point x="25.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.PriorityBlockingQueue" target="java.util.concurrent.BlockingQueue">
      <point x="72.33333333333331" y="-16.0" />
      <point x="1427.4059418145946" y="418.0" />
      <point x="1597.1393526345441" y="418.0" />
      <point x="-23.428571428571445" y="16.0" />
    </edge>
    <edge source="java.util.Set" target="java.util.Collection">
      <point x="0.0" y="-16.0" />
      <point x="157.83333333333348" y="144.0" />
      <point x="826.8435650887566" y="144.0" />
      <point x="-47.30769230769238" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.ArrayBlockingQueue" target="java.util.Queue">
      <point x="0.0" y="-16.0" />
      <point x="890.5726084812613" y="418.0" />
      <point x="950.7948717948717" y="418.0" />
      <point x="950.7948717948717" y="276.0" />
      <point x="1509.5679240631157" y="276.0" />
      <point x="-35.0" y="16.0" />
    </edge>
    <edge source="java.util.List" target="java.util.Collection">
      <point x="0.0" y="-16.0" />
      <point x="611.5833333333334" y="164.0" />
      <point x="845.7666420118335" y="164.0" />
      <point x="-28.384615384615472" y="16.0" />
    </edge>
    <edge source="java.util.Collection" target="java.lang.Iterable">
      <point x="0.0" y="-16.0" />
      <point x="0.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.ConcurrentLinkedQueue" target="java.util.Queue">
      <point x="58.5" y="-16.0" />
      <point x="863.5448717948717" y="266.0" />
      <point x="1499.5679240631157" y="266.0" />
      <point x="-45.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.CopyOnWriteArraySet" target="java.util.Collection">
      <point x="53.75" y="-16.0" />
      <point x="359.83333333333337" y="154.0" />
      <point x="836.3051035502951" y="154.0" />
      <point x="-37.84615384615381" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.BlockingDeque" target="java.util.concurrent.BlockingQueue">
      <point x="41.0" y="-16.0" />
      <point x="1606.5726084812613" y="418.0" />
      <point x="1620.5679240631157" y="418.0" />
      <point x="0.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.BlockingQueue" target="java.util.Queue">
      <point x="0.0" y="-16.0" />
      <point x="1620.5679240631157" y="306.0" />
      <point x="1549.5679240631157" y="306.0" />
      <point x="5.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.LinkedBlockingQueue" target="java.util.Collection">
      <point x="-71.33333333333326" y="-16.0" />
      <point x="1048.239275147928" y="388.0" />
      <point x="677.5448717948717" y="388.0" />
      <point x="677.5448717948717" y="184.0" />
      <point x="864.6897189349104" y="184.0" />
      <point x="-9.461538461538566" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.LinkedBlockingDeque" target="java.util.Collection">
      <point x="71.33333333333326" y="-16.0" />
      <point x="2327.431582840236" y="495.0" />
      <point x="2313.7072238658766" y="495.0" />
      <point x="2313.7072238658766" y="144.0" />
      <point x="930.9204881656797" y="144.0" />
      <point x="56.76923076923072" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.LinkedBlockingDeque" target="java.util.concurrent.BlockingDeque">
      <point x="-71.33333333333331" y="-16.0" />
      <point x="2184.764916173569" y="495.0" />
      <point x="1565.5726084812613" y="495.0" />
      <point x="0.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.BlockingDeque" target="java.util.Deque">
      <point x="-41.0" y="-16.0" />
      <point x="1524.5726084812613" y="388.0" />
      <point x="1468.5679240631157" y="388.0" />
      <point x="0.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.LinkedBlockingDeque" target="java.util.Queue">
      <point x="0.0" y="-16.0" />
      <point x="2256.0982495069024" y="495.0" />
      <point x="2272.0726084812613" y="495.0" />
      <point x="2272.0726084812613" y="266.0" />
      <point x="1589.5679240631157" y="266.0" />
      <point x="45.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.ArrayBlockingQueue" target="java.util.Collection">
      <point x="-68.0" y="-16.0" />
      <point x="822.5726084812613" y="418.0" />
      <point x="668.0833333333334" y="418.0" />
      <point x="668.0833333333334" y="174.0" />
      <point x="855.228180473372" y="174.0" />
      <point x="-18.923076923076906" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.DelayQueue" target="java.util.Queue">
      <point x="0.0" y="-16.0" />
      <point x="2190.0726084812613" y="276.0" />
      <point x="1579.5679240631157" y="276.0" />
      <point x="35.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.DelayQueue" target="java.util.concurrent.BlockingQueue">
      <point x="-47.66666666666666" y="-16.0" />
      <point x="2142.405941814595" y="378.0" />
      <point x="1690.85363834883" y="378.0" />
      <point x="70.28571428571422" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.LinkedTransferQueue" target="java.util.concurrent.BlockingQueue">
      <point x="-70.66666666666674" y="-16.0" />
      <point x="1702.9059418145946" y="418.0" />
      <point x="1643.996495491687" y="418.0" />
      <point x="23.428571428571445" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.DelayQueue" target="java.util.Collection">
      <point x="47.66666666666663" y="-16.0" />
      <point x="2237.739275147928" y="418.0" />
      <point x="2304.2456854043385" y="418.0" />
      <point x="2304.2456854043385" y="154.0" />
      <point x="921.4589497041413" y="154.0" />
      <point x="47.30769230769238" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.ConcurrentSkipListSet" target="java.util.Collection">
      <point x="-72.66666666666674" y="-16.0" />
      <point x="36.33333333333326" y="495.0" />
      <point x="17.083333333333485" y="495.0" />
      <point x="17.083333333333485" y="134.0" />
      <point x="817.3820266272182" y="134.0" />
      <point x="-56.76923076923072" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.CopyOnWriteArraySet" target="java.util.Set">
      <point x="-53.75" y="-16.0" />
      <point x="252.33333333333348" y="296.0" />
      <point x="182.83333333333348" y="296.0" />
      <point x="25.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.ConcurrentSkipListSet" target="java.util.NavigableSet">
      <point x="0.0" y="-16.0" />
      <point x="109.0" y="495.0" />
      <point x="102.58333333333348" y="495.0" />
      <point x="0.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.ConcurrentSkipListSet" target="java.util.Set">
      <point x="72.66666666666674" y="-16.0" />
      <point x="181.66666666666674" y="495.0" />
      <point x="188.08333333333348" y="495.0" />
      <point x="188.08333333333348" y="306.0" />
      <point x="157.83333333333348" y="306.0" />
      <point x="0.0" y="16.0" />
    </edge>
    <edge source="java.util.Deque" target="java.util.Queue">
      <point x="0.0" y="-16.0" />
      <point x="1468.5679240631157" y="306.0" />
      <point x="1539.5679240631157" y="306.0" />
      <point x="-5.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.ConcurrentLinkedQueue" target="java.util.Collection">
      <point x="-58.5" y="-16.0" />
      <point x="746.5448717948717" y="194.0" />
      <point x="874.151257396449" y="194.0" />
      <point x="0.0" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.LinkedBlockingQueue" target="java.util.concurrent.BlockingQueue">
      <point x="71.33333333333337" y="-16.0" />
      <point x="1190.9059418145948" y="408.0" />
      <point x="1573.7107812059726" y="408.0" />
      <point x="-46.85714285714289" y="16.0" />
    </edge>
    <edge source="java.util.concurrent.LinkedBlockingQueue" target="java.util.Queue">
      <point x="0.0" y="-16.0" />
      <point x="1119.5726084812613" y="388.0" />
      <point x="1179.7948717948716" y="388.0" />
      <point x="1179.7948717948716" y="286.0" />
      <point x="1519.5679240631157" y="286.0" />
      <point x="-25.0" y="16.0" />
    </edge>
  </edges>
  <settings layout="Hierarchic Group" zoom="0.549496644295302" x="1182.0" y="276.0" />
  <SelectedNodes>
    <node>java.util.concurrent.LinkedTransferQueue</node>
  </SelectedNodes>
  <Categories />
  <SCOPE>All</SCOPE>
  <VISIBILITY>private</VISIBILITY>
</Diagram>

