<?xml version="1.0" encoding="UTF-8"?>
<Diagram>
  <ID>JAVA</ID>
  <OriginalElement>java.util.concurrent.locks.ReentrantLock</OriginalElement>
  <nodes>
    <node x="442.27500000000003" y="819.0">java.util.concurrent.locks.ReentrantLock.FairSync</node>
    <node x="180.5" y="129.0">java.util.concurrent.locks.AbstractQueuedSynchronizer</node>
    <node x="549.6333333333333" y="237.0">java.util.concurrent.locks.ReentrantLock</node>
    <node x="220.0" y="474.0">java.util.concurrent.locks.AbstractQueuedSynchronizer.Node</node>
    <node x="415.0" y="594.0">java.util.concurrent.locks.ReentrantLock.Sync</node>
    <node x="181.5" y="0.0">java.util.concurrent.locks.AbstractOwnableSynchronizer</node>
    <node x="662.2750000000001" y="819.0">java.util.concurrent.locks.ReentrantLock.NonfairSync</node>
    <node x="0.0" y="546.0">java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject</node>
  </nodes>
  <notes />
  <edges>
    <edge source="java.util.concurrent.locks.ReentrantLock.Sync" target="java.util.concurrent.locks.AbstractQueuedSynchronizer">
      <point x="-50.0" y="-27.5" />
      <point x="465.0" y="449.0" />
      <point x="392.16666666666674" y="449.0" />
      <point x="84.66666666666674" y="147.5" />
    </edge>
    <edge source="java.util.concurrent.locks.ReentrantLock.FairSync" target="java.util.concurrent.locks.ReentrantLock">
      <point x="50.0" y="-27.5" />
      <point x="592.2750000000001" y="799.0" />
      <point x="625.5" y="799.0" />
      <point x="625.5" y="449.0" />
      <point x="649.6333333333333" y="449.0" />
      <point x="0.0" y="39.5" />
    </edge>
    <edge source="java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject" target="java.util.concurrent.locks.AbstractQueuedSynchronizer">
      <point x="0.0" y="-75.5" />
      <point x="100.0" y="449.0" />
      <point x="222.83333333333331" y="449.0" />
      <point x="-84.66666666666669" y="147.5" />
    </edge>
    <edge source="java.util.concurrent.locks.AbstractQueuedSynchronizer" target="java.util.concurrent.locks.AbstractOwnableSynchronizer">
      <point x="0.0" y="-147.5" />
      <point x="0.0" y="39.5" />
    </edge>
    <edge source="java.util.concurrent.locks.ReentrantLock.NonfairSync" target="java.util.concurrent.locks.ReentrantLock">
      <point x="50.0" y="-27.5" />
      <point x="812.2750000000001" y="449.0" />
      <point x="716.3000000000001" y="449.0" />
      <point x="66.66666666666669" y="39.5" />
    </edge>
    <edge source="java.util.concurrent.locks.ReentrantLock.NonfairSync" target="java.util.concurrent.locks.ReentrantLock.Sync">
      <point x="-50.0" y="-27.5" />
      <point x="712.2750000000001" y="789.0" />
      <point x="565.0" y="789.0" />
      <point x="50.0" y="27.5" />
    </edge>
    <edge source="java.util.concurrent.locks.AbstractQueuedSynchronizer.Node" target="java.util.concurrent.locks.AbstractQueuedSynchronizer">
      <point x="0.0" y="-147.5" />
      <point x="0.0" y="147.5" />
    </edge>
    <edge source="java.util.concurrent.locks.ReentrantLock.Sync" target="java.util.concurrent.locks.ReentrantLock">
      <point x="50.0" y="-27.5" />
      <point x="565.0" y="449.0" />
      <point x="582.9666666666667" y="449.0" />
      <point x="-66.66666666666669" y="39.5" />
    </edge>
    <edge source="java.util.concurrent.locks.ReentrantLock.FairSync" target="java.util.concurrent.locks.ReentrantLock.Sync">
      <point x="-50.0" y="-27.5" />
      <point x="492.27500000000003" y="799.0" />
      <point x="465.0" y="799.0" />
      <point x="-50.0" y="27.5" />
    </edge>
  </edges>
  <settings layout="Hierarchic Group" zoom="1.0" x="284.5" y="475.0" />
  <SelectedNodes />
  <Categories>
    <Category>Inner Classes</Category>
    <Category>Fields</Category>
  </Categories>
  <SCOPE>All</SCOPE>
  <VISIBILITY>private</VISIBILITY>
</Diagram>

