<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -13,26 +13,32 @@ import java.util.UUID;
  */
 public class Archive
 {
+    // TODO Document.
     private final UUID personId;
     
+    // TODO Document.
     private final Map&lt;UUID, Message&gt; mapOfMissives;
     
+    // TODO Document.
     public Archive(UUID personId)
     {
         this.personId = personId;
         this.mapOfMissives = new HashMap&lt;UUID, Message&gt;();
     }
     
+    // TODO Document.
     public UUID getPersonId()
     {
         return personId;
     }
 
+    // TODO Document.
     public void add(Message missive)
     {
         mapOfMissives.put(missive.getId(), missive);
     }
     
+    // TODO Document.
     public Message get(UUID missiveId)
     {
         return mapOfMissives.get(missiveId);</diff>
      <filename>src/main/java/org/curlybraces/synapse/Archive.java</filename>
    </modified>
    <modified>
      <diff>@@ -5,18 +5,23 @@ import java.util.LinkedList;
 import java.util.Map;
 import java.util.UUID;
 
+// TODO Document.
 public class CallbackMap&lt;T&gt;
 {
+    // TODO Document.
     private final Map&lt;UUID, T&gt; mapOfCallbacks;
     
+    // TODO Document.
     private final LinkedList&lt;UUID&gt; calledback;
 
+    // TODO Document.
     public CallbackMap()
     {
         this.mapOfCallbacks = new HashMap&lt;UUID, T&gt;();
         this.calledback = new LinkedList&lt;UUID&gt;();
     }
 
+    // TODO Document.
     public void put(UUID callbackId, T callback)
     {
         if (mapOfCallbacks.containsKey(callbackId))
@@ -26,6 +31,7 @@ public class CallbackMap&lt;T&gt;
         mapOfCallbacks.put(callbackId, callback);
     }
     
+    // TODO Document.
     public T callback(UUID callbackId)
     {
         T callback = mapOfCallbacks.remove(callbackId);</diff>
      <filename>src/main/java/org/curlybraces/synapse/CallbackMap.java</filename>
    </modified>
    <modified>
      <diff>@@ -37,6 +37,7 @@ public abstract class Command
         this.stamp = stamp;
     }
     
+    // TODO Document.
     public byte[] getSignatureArray()
     {
         ByteArrayOutputStream out = new ByteArrayOutputStream();
@@ -61,6 +62,7 @@ public abstract class Command
         return out.toByteArray();
     }
     
+    // TODO Document.
     protected void addToSignature(DataOutputStream data)
     {
     }</diff>
      <filename>src/main/java/org/curlybraces/synapse/Command.java</filename>
    </modified>
    <modified>
      <diff>@@ -2,14 +2,19 @@ package org.curlybraces.synapse;
 
 import java.net.URL;
 
+// TODO Document.
 public interface Contributor
 {
+    // TODO Document.
     public URL getURL();
     
+    // TODO Document.
     public void setProfile(Profile profile);
     
+    // TODO Document.
     public void update(Message message);
     
+    // TODO Document.
     public void search(MatchAll search, NodeListener listener);
 
     /**</diff>
      <filename>src/main/java/org/curlybraces/synapse/Contributor.java</filename>
    </modified>
    <modified>
      <diff>@@ -11,19 +11,23 @@ import java.util.TreeMap;
  */
 public class Dictionary
 {
+    // TODO Document.
     private final SortedMap&lt;Term, Volume&gt; mapOfVolumes;
     
+    // TODO Document.
     public Dictionary()
     {
         this.mapOfVolumes = new TreeMap&lt;Term, Volume&gt;(Collections.reverseOrder());
     }
     
+    // TODO Document.
     public void create(Term min, Term max)
     {
         Volume volume = new Volume(max);
         mapOfVolumes.put(min, volume);
     }
 
+    // TODO Document.
     public Volume get(Term term)
     {
         SortedMap&lt;Term, Volume&gt; tail = mapOfVolumes.tailMap(term);</diff>
      <filename>src/main/java/org/curlybraces/synapse/Dictionary.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,9 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public class Discover extends Command
 {
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/Discover.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,24 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public class Echo extends Command
 {
+    // TODO Document.
     private String message;
     
+    // TODO Document.
     public Echo()
     {
     }
 
+    // TODO Document.
     public Echo(Stamp stamp, String message)
     {
         super(stamp);
         this.message = message;
     }
 
+    // TODO Document.
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {
         System.out.println(message);</diff>
      <filename>src/main/java/org/curlybraces/synapse/Echo.java</filename>
    </modified>
    <modified>
      <diff>@@ -6,16 +6,22 @@ import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 
+// TODO Document.
 public class Entry
 {
+    // TODO Document.
     private int size;
     
+    // TODO Document.
     private final Term term;
     
+    // TODO Document.
     private final long[] dates;
     
+    // TODO Document.
     private final long[] messageIds;
     
+    // TODO Document.
     public Entry(Term term)
     {
         this.term = term;
@@ -23,6 +29,7 @@ public class Entry
         this.messageIds = new long[1024 * 2];
     }
 
+    // TODO Document.
     private int search(Date date)
     {
         long time = date.getTime();
@@ -55,6 +62,7 @@ public class Entry
         return -(low + 1);
     }
     
+    // TODO Document.
     public int seek(int index, Date date, UUID messageId)
     {
         long time = date.getTime();
@@ -70,6 +78,7 @@ public class Entry
         return -1;
     }
     
+    // TODO Document.
     private void insert(int index, Date date, UUID messageId)
     {
         System.arraycopy(dates, index, dates, index + 1, size - index);
@@ -80,6 +89,7 @@ public class Entry
         size++;
     }
     
+    // TODO Document.
     public void add(Date date, UUID messageId)
     {
         int index = search(date);
@@ -93,6 +103,7 @@ public class Entry
         }
     }
     
+    // TODO Document.
     public List&lt;Token&gt; get(Date date)
     {
         int index = search(date);
@@ -113,6 +124,7 @@ public class Entry
         return tokens;
     }
     
+    // TODO Document.
     public boolean atOrBefore(Date date, List&lt;Token&gt; listOfTokens)
     {
         int index = search(date);</diff>
      <filename>src/main/java/org/curlybraces/synapse/Entry.java</filename>
    </modified>
    <modified>
      <diff>@@ -15,20 +15,26 @@ import org.jibx.runtime.JiBXException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+// TODO Document.
 public class Envelope
 {
+    // TODO Document.
     private final Logger logger = LoggerFactory.getLogger(Envelope.class);
     
+    // TODO Document.
     private final URL url;
     
+    // TODO Document.
     private final Synapse synapse;
     
+    // TODO Document.
     public Envelope(URL url, Synapse synapse)
     {
         this.url = url;
         this.synapse = synapse;
     }
     
+    // TODO Document.
     public Receipt send()
     {
         try
@@ -49,6 +55,7 @@ public class Envelope
         }
     }
     
+    // TODO Document.
     private Receipt trySend() throws MalformedURLException, IOException, JiBXException
     {
         logger.debug(&quot;Sending synapse to {}.&quot;, url);</diff>
      <filename>src/main/java/org/curlybraces/synapse/Envelope.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,18 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public class EnvelopeExecutor implements Executor
 {
+    // TODO Document.
     private final Envelope envelope;
 
+    // TODO Document.
     public EnvelopeExecutor(Envelope envelope)
     {
         this.envelope = envelope;
     }
 
+    // TODO Document.
     public void execute()
     {
         envelope.send();</diff>
      <filename>src/main/java/org/curlybraces/synapse/EnvelopeExecutor.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,15 +1,19 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public class EnvelopeSendTask
 extends Task
 {
+    // TODO Document.
     private final Envelope envelope;
     
+    // TODO Document.
     public EnvelopeSendTask(Envelope envelope)
     {
         this.envelope = envelope;
     }
     
+    // TODO Document.
     @Override
     public void perform()
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/EnvelopeSendTask.java</filename>
    </modified>
    <modified>
      <diff>@@ -2,20 +2,25 @@ package org.curlybraces.synapse;
 
 import java.util.UUID;
 
+// TODO Document.
 public class ExecuteCallback extends Command
 {
+    // TODO Document.
     private UUID callbackId;
 
+    // TODO Document.
     public ExecuteCallback()
     {
     }
 
+    // TODO Document.
     public ExecuteCallback(Stamp stamp, UUID callbackId)
     {
         super(stamp);
         this.callbackId = callbackId;
     }
 
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/ExecuteCallback.java</filename>
    </modified>
    <modified>
      <diff>@@ -2,16 +2,21 @@ package org.curlybraces.synapse;
 
 import java.util.UUID;
 
+// TODO Document.
 public class ExecuteMessageCallback extends Command
 {
+    // TODO Document.
     private UUID callbackId;
     
+    // TODO Document.
     private Message message;
     
+    // TODO Document.
     public ExecuteMessageCallback()
     {
     }
     
+    // TODO Document.
     public ExecuteMessageCallback(Stamp stamp, UUID callbackId, Message message)
     {
         super(stamp);
@@ -19,6 +24,7 @@ public class ExecuteMessageCallback extends Command
         this.message = message;
     }
     
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/ExecuteMessageCallback.java</filename>
    </modified>
    <modified>
      <diff>@@ -2,16 +2,21 @@ package org.curlybraces.synapse;
 
 import java.util.UUID;
 
+// TODO Document.
 public class ExecuteProfileCallback extends Command
 {
+    // TODO Document.
     private UUID callbackId;
     
+    // TODO Document.
     private Profile profile;
     
+    // TODO Document.
     public ExecuteProfileCallback()
     {
     }
     
+    // TODO Document.
     public ExecuteProfileCallback(Stamp stamp, UUID callbackId, Profile profile)
     {
         super(stamp);
@@ -19,6 +24,7 @@ public class ExecuteProfileCallback extends Command
         this.profile = profile;
     }
     
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/ExecuteProfileCallback.java</filename>
    </modified>
    <modified>
      <diff>@@ -3,16 +3,21 @@ package org.curlybraces.synapse;
 import java.util.List;
 import java.util.UUID;
 
+// TODO Document.
 public class ExecuteTokenCallback extends Command
 {
+    // TODO Document.
     private UUID callbackId;
     
+    // TODO Document.
     private Token[] tokens;
     
+    // TODO Document.
     public ExecuteTokenCallback()
     {
     }
     
+    // TODO Document.
     public ExecuteTokenCallback(Stamp stamp, UUID callbackId, List&lt;Token&gt; listOfTokens)
     {
         super(stamp);
@@ -20,6 +25,7 @@ public class ExecuteTokenCallback extends Command
         this.tokens = listOfTokens.toArray(new Token[listOfTokens.size()]);
     }
     
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/ExecuteTokenCallback.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,8 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public interface Executor
 {
+    // TODO Document.
     public void execute();
 }</diff>
      <filename>src/main/java/org/curlybraces/synapse/Executor.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,9 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public class FailureExecutor implements Executor
 {
+    // TODO Document.
     public void execute()
     {
     }</diff>
      <filename>src/main/java/org/curlybraces/synapse/FailureExecutor.java</filename>
    </modified>
    <modified>
      <diff>@@ -3,18 +3,24 @@ package org.curlybraces.synapse;
 import java.net.URL;
 import java.util.UUID;
 
+// TODO Document.
 public class GetMessage extends Command
 {
+    // TODO Document.
     private UUID messageId;
     
+    // TODO Document.
     private URL from;
     
+    // TODO Document.
     private UUID callbackId;
     
+    // TODO Document.
     public GetMessage()
     {
     }
 
+    // TODO Document.
     public GetMessage(Stamp stamp, UUID messageId, URL from, UUID callbackId)
     {
         super(stamp);
@@ -23,6 +29,7 @@ public class GetMessage extends Command
         this.callbackId = callbackId;
     }
     
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/GetMessage.java</filename>
    </modified>
    <modified>
      <diff>@@ -3,18 +3,24 @@ package org.curlybraces.synapse;
 import java.net.URL;
 import java.util.UUID;
 
+// TODO Document.
 public class GetProfile extends Command
 {
+    // TODO Document.
     private UUID profileId;
     
+    // TODO Document.
     private URL from;
     
+    // TODO Document.
     private UUID callbackId;
     
+    // TODO Document.
     public GetProfile()
     {
     }
 
+    // TODO Document.
     public GetProfile(Stamp stamp, UUID profileId, URL from, UUID callbackId)
     {
         super(stamp);
@@ -23,6 +29,7 @@ public class GetProfile extends Command
         this.callbackId = callbackId;
     }
     
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/GetProfile.java</filename>
    </modified>
    <modified>
      <diff>@@ -6,22 +6,30 @@ import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 
+// TODO Document.
 public class GetToken extends Command
 {
+    // TODO Document.
     private final static int RETURN_COUNT = 3;
    
+    // TODO Document.
     private UUID callbackId;
     
+    // TODO Document.
     private URL from;
     
+    // TODO Document.
     private Date atOrBefore;
     
+    // TODO Document.
     private Term term;
     
+    // TODO Document.
     public GetToken()
     {
     }
 
+    // TODO Document.
     public GetToken(Stamp stamp, Term term, Date atOrBefore, URL from, UUID callbackId)
     {
         super(stamp);
@@ -31,6 +39,7 @@ public class GetToken extends Command
         this.term = term;
     }
     
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/GetToken.java</filename>
    </modified>
    <modified>
      <diff>@@ -2,22 +2,26 @@ package org.curlybraces.synapse;
 
 import java.net.URL;
 
-
+// TODO Document.
 public class GoTo
 extends Command
 {
+    // TODO Document.
     private URL url;
     
+    // TODO Document.
     public GoTo()
     {
     }
     
+    // TODO Document.
     public GoTo(Stamp stamp, URL url)
     {
         super(stamp);
         this.url = url;
     }
     
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/GoTo.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,20 +1,25 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public class InjectMessage
 extends Command
 {
+    // TODO Document.
     private Message message;
     
+    // TODO Document.
     public InjectMessage()
     {
     }
     
+    // TODO Document.
     public InjectMessage(Stamp stamp, Message missive)
     {
         super(stamp);
         this.message = missive;
     }
     
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/InjectMessage.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,24 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public class InjectProfile extends Command
 {
+    // TODO Document.
     private Profile profile;
     
+    // TODO Document.
     public InjectProfile()
     {
     }
     
+    // TODO Document.
     public InjectProfile(Stamp stamp, Profile profile)
     {
         super(stamp);
         this.profile = profile;
     }
     
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/InjectProfile.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,24 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public class InjectToken extends Command
 {
+    // TODO Document.
     private Token token;
     
+    // TODO Document.
     public InjectToken()
     {
     }
 
+    // TODO Document.
     public InjectToken(Stamp stamp, Token token)
     {
         super(stamp);
         this.token = token;
     }
     
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/InjectToken.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,6 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public class InternetLocator
 {
 </diff>
      <filename>src/main/java/org/curlybraces/synapse/InternetLocator.java</filename>
    </modified>
    <modified>
      <diff>@@ -5,20 +5,25 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+// TODO Document.
 public class MatchAll
 {
+    // TODO Document.
     public final List&lt;MatchAny&gt; listOfAny;
     
+    // TODO Document.
     public MatchAll()
     {
         this.listOfAny = new ArrayList&lt;MatchAny&gt;();
     }
     
+    // TODO Document.
     public void add(MatchAny any)
     {
         listOfAny.add(any);
     }
     
+    // TODO Document.
     public Set&lt;Set&lt;Term&gt;&gt; getTerms()
     {
         Set&lt;Set&lt;Term&gt;&gt; setOfSetsOfTerms = new HashSet&lt;Set&lt;Term&gt;&gt;();</diff>
      <filename>src/main/java/org/curlybraces/synapse/MatchAll.java</filename>
    </modified>
    <modified>
      <diff>@@ -4,20 +4,25 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 
+// TODO Document.
 public class MatchAny
 {
+    // TODO Document.
     private final Set&lt;Term&gt; setOfTerms;
     
+    // TODO Document.
     public MatchAny()
     {
         this.setOfTerms = new HashSet&lt;Term&gt;();
     }
     
+    // TODO Document.
     public void add(Term term)
     {
         setOfTerms.add(term);
     }
     
+    // TODO Document.
     public Set&lt;Term&gt; getTerms()
     {
         return Collections.unmodifiableSet(setOfTerms);</diff>
      <filename>src/main/java/org/curlybraces/synapse/MatchAny.java</filename>
    </modified>
    <modified>
      <diff>@@ -13,26 +13,37 @@ import java.util.SortedMap;
 import java.util.TreeMap;
 import java.util.UUID;
 
+// TODO Document.
 public class MergeAll
 {
+    // TODO Document.
     private final MatchAll search;
     
+    // TODO Document.
     private final Node node;
     
+    // TODO Document.
     private final Set&lt;Set&lt;Term&gt;&gt; setOfSetsOfTerms;
     
+    // TODO Document.
     private final Map&lt;Set&lt;Term&gt;, SortedMap&lt;MergeKey, Token&gt;&gt; mapOfMapsOfTokens;
     
+    // TODO Document.
     private final NodeListener listener;
     
+    // TODO Document.
     private final int results;
     
+    // TODO Document.
     private int found;
     
+    // TODO Document.
     private MergeKey oldest;
 
+    // TODO Document.
     private int count;
     
+    // TODO Document.
     public MergeAll(Node node, MatchAll search, int results, NodeListener listener)
     {
         Map&lt;Set&lt;Term&gt;, SortedMap&lt;MergeKey, Token&gt;&gt; mapOfMapsOfTokens;
@@ -56,6 +67,7 @@ public class MergeAll
         this.oldest = new MergeKey(new Date(Long.MAX_VALUE));
     }
     
+    // TODO Document.
     public void next()
     {
         List&lt;Set&lt;Term&gt;&gt; listOfSetsOfTerms = new ArrayList&lt;Set&lt;Term&gt;&gt;();
@@ -85,6 +97,7 @@ public class MergeAll
         }
     }
     
+    // TODO Document.
     public void merge(Set&lt;Term&gt; setOfTerms, List&lt;Token&gt; listOfTokens)
     {
         if (listOfTokens.size() == 0)</diff>
      <filename>src/main/java/org/curlybraces/synapse/MergeAll.java</filename>
    </modified>
    <modified>
      <diff>@@ -4,16 +4,22 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
+// TODO Document.
 public class MergeAny implements TokenCallback
 {
+    // TODO Document.
     private final Set&lt;Term&gt; setOfTerms;
     
+    // TODO Document.
     private final List&lt;Token&gt; listOfTokens;
 
+    // TODO Document.
     private final MergeAll all;
 
+    // TODO Document.
     private int count;
 
+    // TODO Document.
     public MergeAny(MergeAll all, Set&lt;Term&gt; setOfTerms)
     {
         this.setOfTerms = setOfTerms;
@@ -22,6 +28,7 @@ public class MergeAny implements TokenCallback
         this.listOfTokens = new ArrayList&lt;Token&gt;();
     }
 
+    // TODO Document.
     public void run(Token[] tokens)
     {
         if (count == 0)</diff>
      <filename>src/main/java/org/curlybraces/synapse/MergeAny.java</filename>
    </modified>
    <modified>
      <diff>@@ -3,34 +3,42 @@ package org.curlybraces.synapse;
 import java.util.Date;
 import java.util.UUID;
 
+// TODO Document.
 public class MergeKey implements Comparable&lt;MergeKey&gt;
 {
+    // TODO Document.
     private final Date date;
 
+    // TODO Document.
     private final UUID messageId;
 
+    // TODO Document.
     public MergeKey(Date date)
     {
         this.date = date;
         this.messageId = new UUID(Long.MIN_VALUE, Long.MIN_VALUE);
     }
 
+    // TODO Document.
     public MergeKey(Token token)
     {
         this.date = token.getDate();
         this.messageId = token.getMessageId();
     }
 
+    // TODO Document.
     public Date getDate()
     {
         return date;
     }
 
+    // TODO Document.
     public UUID getMessageId()
     {
         return messageId;
     }
 
+    // TODO Document.
     public int compareTo(MergeKey mergeKey)
     {
         int compare = date.compareTo(mergeKey.getDate());
@@ -41,6 +49,7 @@ public class MergeKey implements Comparable&lt;MergeKey&gt;
         return compare;
     }
     
+    // TODO Document.
     @Override
     public boolean equals(Object object)
     {
@@ -53,6 +62,7 @@ public class MergeKey implements Comparable&lt;MergeKey&gt;
         return false;
     }
     
+    // TODO Document.
     @Override
     public int hashCode()
     {
@@ -62,6 +72,7 @@ public class MergeKey implements Comparable&lt;MergeKey&gt;
         return hash;
     }
     
+    // TODO Document.
     public String toString()
     {
         return &quot;[&quot; + date.toString() + &quot;, &quot; + messageId.toString() + &quot;]&quot;;</diff>
      <filename>src/main/java/org/curlybraces/synapse/MergeKey.java</filename>
    </modified>
    <modified>
      <diff>@@ -3,65 +3,81 @@ package org.curlybraces.synapse;
 import java.util.Date;
 import java.util.UUID;
 
+// TODO Document.
 public class Message
 {
+    // TODO Document.
     private UUID id;
     
+    // TODO Document.
     private UUID profileId;
     
+    // TODO Document.
     private Date date;
     
+    // TODO Document.
     private String text;
 
+    // TODO Document.
     public Message()
     {
     }
 
+    // TODO Document.
     public void setId(UUID id)
     {
         this.id = id;
     }
     
+    // TODO Document.
     public void setId(String id)
     {
         setId(UUID.fromString(id));
     }
     
+    // TODO Document.
     public UUID getId()
     {
         return id;
     }
     
+    // TODO Document.
     public void setProfileId(UUID profileId)
     {
         this.profileId = profileId;
     }
     
+    // TODO Document.
     public void setProfileId(String profileId)
     {
         setProfileId(UUID.fromString(profileId));
     }
     
+    // TODO Document.
     public UUID getProfileId()
     {
         return profileId;
     }
     
+    // TODO Document.
     public void setDate(Date date)
     {
         this.date = date;
     }
     
+    // TODO Document.
     public Date getDate()
     {
         return date;
     }
     
+    // TODO Document.
     public void setText(String message)
     {
         this.text = message;
     }
     
+    // TODO Document.
     public String getText()
     {
         return text;</diff>
      <filename>src/main/java/org/curlybraces/synapse/Message.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,8 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public interface MessageCallback
 {
+    // TODO Document.
     public void run(Message message);
 }</diff>
      <filename>src/main/java/org/curlybraces/synapse/MessageCallback.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,22 +1,18 @@
 package org.curlybraces.synapse;
 
 /**
- * &lt;p&gt;
  * Manages a mirror of a node. This mirrors messages and profiles in the node
  * and the node archive of term entries. A mirror is created for a node,
  * two for each node. It is a log. Tail changes. One line for each change.
  * Create, add, (remove?) and split.
- * &lt;/p&gt;
  * &lt;p&gt;
  * Mirror checks and when down, it becomes the node. Its mirrors mirror.
  * Other mirror waits for the merge. Once merge is complete, other mirrors
  * collapse. Then load balancing takes place.
- * &lt;/p&gt;
  * &lt;p&gt;
  * Mirrors can compact themselves at their own discretion. If an archive
  * is off-loading and splitting, a lot, the mirror can build the node,
  * save the node, and tail the changes after that. 
- * &lt;/p&gt;
  * 
  * @author Alan Gutierrez
  */</diff>
      <filename>src/main/java/org/curlybraces/synapse/Mirror.java</filename>
    </modified>
    <modified>
      <diff>@@ -4,12 +4,16 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
 
+// TODO Document.
 public class Network&lt;K extends Comparable&lt;K&gt;&gt;
 {
+    // TODO Document.
     private final UUID rootId;
 
+    // TODO Document.
     private final Map&lt;UUID, Router&lt;K&gt;&gt; mapOfRouters;
     
+    // TODO Document.
     public Network(UUID rootId, K min)
     {
         Router&lt;K&gt; root = new Router&lt;K&gt;(rootId);
@@ -19,11 +23,13 @@ public class Network&lt;K extends Comparable&lt;K&gt;&gt;
         this.mapOfRouters.put(rootId, root);
     }
     
+    // TODO Document.
     public UUID getRootId()
     {
         return rootId;
     }
     
+    // TODO Document.
     public Router&lt;K&gt; get(UUID id)
     {
         return mapOfRouters.get(id);</diff>
      <filename>src/main/java/org/curlybraces/synapse/Network.java</filename>
    </modified>
    <modified>
      <diff>@@ -9,28 +9,40 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
+// TODO Document.
 public class Node implements Contributor
 {
+    // TODO Document.
     public final UUID MIN_UUID = new UUID(Long.MIN_VALUE, Long.MIN_VALUE);
     
+    // TODO Document.
     public final UUID MAX_UUID = new UUID(Long.MAX_VALUE, Long.MAX_VALUE);
     
+    // TODO Document.
     private final UUID id;
     
+    // TODO Document.
     private final Dictionary dictionary;
         
+    // TODO Document.
     private final Map&lt;UUID, Archive&gt; mapOfArchives;
 
+    // TODO Document.
     private final List&lt;NodeListener&gt; listOfListeners;
 
+    // TODO Document.
     private final CallbackMap&lt;Runnable&gt; voidCallbacks;
     
+    // TODO Document.
     private final CallbackMap&lt;TokenCallback&gt; tokenCallbacks;
     
+    // TODO Document.
     private final CallbackMap&lt;MessageCallback&gt; messageCallbacks;
     
+    // TODO Document.
     private final CallbackMap&lt;ProfileCallback&gt; profileCallbacks;
 
+    // TODO Document.
     private final Network&lt;Term&gt; tokenNetwork;
     
     /** The message network. */
@@ -39,12 +51,16 @@ public class Node implements Contributor
     /** The message storage. */
     private final Storage&lt;Message&gt; messageStorage;
     
+    // TODO Document.
     private final Network&lt;UUID&gt; profileNetwork;
     
+    // TODO Document.
     private final Storage&lt;Profile&gt; profileStorage;
 
+    // TODO Document.
     private URL url;
 
+    // TODO Document.
     public Node()
     {
         UUID id = UUID.randomUUID();
@@ -89,11 +105,13 @@ public class Node implements Contributor
         this.profileStorage = profileStorage;
     }
 
+    // TODO Document.
     public UUID getId()
     {
         return id;
     }
 
+    // TODO Document.
     public void setURL(URL url)
     {
         this.url = url;
@@ -102,41 +120,49 @@ public class Node implements Contributor
         getProfileNetwork().get(getProfileNetwork().getRootId()).get(MIN_UUID).add(url);
     }
     
+    // TODO Document.
     public UUID newUUID()
     {
         return UUID.randomUUID();
     }
     
+    // TODO Document.
     public Stamp newStamp()
     {
         return new Stamp(UUID.randomUUID(), new Date());
     }
 
+    // TODO Document.
     public URL getURL()
     {
         return url;
     }
     
+    // TODO Document.
     public void setProfile(Profile profile)
     {
         new NodeExecutor(this, new Synapse(new SetProfile(newStamp(), profile))).execute();
     }
     
+    // TODO Document.
     public void update(Message message)
     {
         new NodeExecutor(this, new Synapse(new Update(newStamp(), message))).execute();
     }
     
+    // TODO Document.
     public void search(MatchAll search, NodeListener listener)
     {
         new MergeAll(this, search, 3, listener).next();
     }
 
+    // TODO Document.
     public Dictionary getDictionary()
     {
         return dictionary;
     }
 
+    // TODO Document.
     public Archive getArchive(UUID profileId)
     {
         Archive archive = mapOfArchives.get(profileId);
@@ -178,11 +204,13 @@ public class Node implements Contributor
         return messageStorage;
     }
     
+    // TODO Document.
     public Network&lt;UUID&gt; getProfileNetwork()
     {
         return profileNetwork;
     }
     
+    // TODO Document.
     public Storage&lt;Profile&gt; getProfileStorage()
     {
         return profileStorage;
@@ -247,21 +275,25 @@ public class Node implements Contributor
         return copy;
     }
     
+    // TODO Document.
     public CallbackMap&lt;Runnable&gt; getVoidCallbacks()
     {
         return voidCallbacks;
     }
     
+    // TODO Document.
     public CallbackMap&lt;TokenCallback&gt; getTokenCallbacks()
     {
         return tokenCallbacks;
     }
     
+    // TODO Document.
     public CallbackMap&lt;MessageCallback&gt; getMessageCallbacks()
     {
         return messageCallbacks;
     }
     
+    // TODO Document.
     public CallbackMap&lt;ProfileCallback&gt; getProfileCallbacks()
     {
         return profileCallbacks;</diff>
      <filename>src/main/java/org/curlybraces/synapse/Node.java</filename>
    </modified>
    <modified>
      <diff>@@ -2,18 +2,23 @@ package org.curlybraces.synapse;
 
 import java.util.LinkedList;
 
+// TODO Document.
 public class NodeExecutor implements Executor
 {
+    // TODO Document.
     private final Node node;
     
+    // TODO Document.
     private final Synapse synapse;
     
+    // TODO Document.
     public NodeExecutor(Node node, Synapse synapse)
     {
         this.node = node;
         this.synapse = synapse;
     }
 
+    // TODO Document.
     public void execute()
     {
         LinkedList&lt;Executor&gt; listOfExecutors = new LinkedList&lt;Executor&gt;();</diff>
      <filename>src/main/java/org/curlybraces/synapse/NodeExecutor.java</filename>
    </modified>
    <modified>
      <diff>@@ -29,6 +29,7 @@ public class NodeListener
     {
     }
     
+    // TODO Document.
     public void found(MatchAll search, Message message, Profile profile)
     {
     }</diff>
      <filename>src/main/java/org/curlybraces/synapse/NodeListener.java</filename>
    </modified>
    <modified>
      <diff>@@ -2,31 +2,39 @@ package org.curlybraces.synapse;
 
 import java.util.UUID;
 
+// TODO Document.
 public class Profile
 {
+    // TODO Document.
     public UUID id;
     
+    // TODO Document.
     public String name;
     
+    // TODO Document.
     public Profile()
     {
     }
     
+    // TODO Document.
     public Profile(UUID id)
     {
         this.id = id;
     }
     
+    // TODO Document.
     public UUID getId()
     {
         return id;
     }
     
+    // TODO Document.
     public void setName(String name)
     {
         this.name = name;
     }
     
+    // TODO Document.
     public String getName()
     {
         return name;</diff>
      <filename>src/main/java/org/curlybraces/synapse/Profile.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,8 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public interface ProfileCallback
 {
+    // TODO Document.
     public void run(Profile profile);
 }</diff>
      <filename>src/main/java/org/curlybraces/synapse/ProfileCallback.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,22 +1,28 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public class Receipt
 {
+    // TODO Document.
     private final int code;
     
+    // TODO Document.
     private final Verification verification;
     
+    // TODO Document.
     public Receipt(int code, Verification verification)
     {
         this.code = code;
         this.verification = verification;
     }
     
+    // TODO Document.
     public int getCode()
     {
         return code;
     }
     
+    // TODO Document.
     public Verification getVerification()
     {
         return verification;</diff>
      <filename>src/main/java/org/curlybraces/synapse/Receipt.java</filename>
    </modified>
    <modified>
      <diff>@@ -5,14 +5,19 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
 
+// TODO Document.
 public class Route
 {
+    // TODO Document.
     private final UUID id;
     
+    // TODO Document.
     private final boolean leaf;
 
+    // TODO Document.
     private final List&lt;URL&gt; listOfURLs;
     
+    // TODO Document.
     public Route(UUID id, boolean leaf)
     {
         this.id = id;
@@ -20,16 +25,19 @@ public class Route
         this.listOfURLs = new ArrayList&lt;URL&gt;();
     }
     
+    // TODO Document.
     public UUID getId()
     {
         return id;
     }
     
+    // TODO Document.
     public boolean isLeaf()
     {
         return leaf;
     }
     
+    // TODO Document.
     public void add(URL url)
     {
         if (!listOfURLs.contains(url))
@@ -38,6 +46,7 @@ public class Route
         }
     }
     
+    // TODO Document.
     public URL get(Synapse synapse)
     {
         int size = listOfURLs.size();</diff>
      <filename>src/main/java/org/curlybraces/synapse/Route.java</filename>
    </modified>
    <modified>
      <diff>@@ -2,20 +2,25 @@ package org.curlybraces.synapse;
 
 import java.util.UUID;
 
+// TODO Document.
 public class RouteMessage extends Command
 {
+    // TODO Document.
     private UUID messageId;
     
+    // TODO Document.
     public RouteMessage()
     {
     }
     
+    // TODO Document.
     public RouteMessage(Stamp stamp, UUID messageId)
     {
         super(stamp);
         this.messageId = messageId;
     }
 
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/RouteMessage.java</filename>
    </modified>
    <modified>
      <diff>@@ -2,20 +2,25 @@ package org.curlybraces.synapse;
 
 import java.util.UUID;
 
+// TODO Document.
 public class RouteProfile extends Command
 {
+    // TODO Document.
     private UUID profileId;
     
+    // TODO Document.
     public RouteProfile()
     {
     }
     
+    // TODO Document.
     public RouteProfile(Stamp stamp, UUID profileId)
     {
         super(stamp);
         this.profileId = profileId;
     }
     
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/RouteProfile.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,20 +1,24 @@
 package org.curlybraces.synapse;
 
-
+// TODO Document.
 public class RouteToken extends Command
 {
+    // TODO Document.
     private Term term;
     
+    // TODO Document.
     public RouteToken()
     {
     }
     
+    // TODO Document.
     public RouteToken(Stamp stamp, Term term)
     {
         super(stamp);
         this.term = term;
     }
     
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/RouteToken.java</filename>
    </modified>
    <modified>
      <diff>@@ -6,16 +6,13 @@ import java.util.TreeMap;
 import java.util.UUID;
 
 /**
- * &lt;p&gt;
  * A routing table that maps a key to a {@link Route} instance, returning the
  * route to objects whose keys are greater than or equal to a specified key.
- * &lt;/p&gt;
  * &lt;h2&gt;Router Splits&lt;/h2&gt;
  * &lt;p&gt;
  * Each request to route include a list of alternates. After a router splits,
  * it keep the last split and inform any requests of the new split if not 
  * listed in the alternates.
- * &lt;/p&gt;
  * &lt;h2&gt;Mirroring Routers&lt;/h2&gt;
  * &lt;p&gt;
  * Splits are mirrored by keeping a version of each routing table, each child
@@ -23,13 +20,11 @@ import java.util.UUID;
  * Each part of the path contains the URL, UUID and version of the router. Each
  * router keeps a table of the path, with the newest version per id and a list
  * of the 16 or so most recent visitors who reported having that version.
- * &lt;/p&gt;
  * &lt;p&gt;
  * When a synapse is routed and the path includes an older version, the synapse
  * is dropped, delayed, rerouted, not sure, but a new synapse is sent to tell
  * the URL that a newer version of the table is available at a different URL.
  * That routing table is fetched and copied.
- * &lt;/p&gt;
  * 
  * @param &lt;K&gt;
  *            A Comparable implementation key type.</diff>
      <filename>src/main/java/org/curlybraces/synapse/Router.java</filename>
    </modified>
    <modified>
      <diff>@@ -2,16 +2,22 @@ package org.curlybraces.synapse;
 
 import java.util.UUID;
 
+// TODO Document.
 public class SearchListener implements MessageCallback, ProfileCallback
 {
+    // TODO Document.
     private final NodeListener listener;
     
+    // TODO Document.
     private final Node node;
     
+    // TODO Document.
     private final MatchAll search;
     
+    // TODO Document.
     private Message message;
     
+    // TODO Document.
     public SearchListener(Node node, MatchAll search, NodeListener listener)
     {
         this.node = node;
@@ -19,6 +25,7 @@ public class SearchListener implements MessageCallback, ProfileCallback
         this.listener = listener;
     }
     
+    // TODO Document.
     private void notifyListeners(Profile profile)
     {
         this.listener.found(search, message, profile);
@@ -28,6 +35,7 @@ public class SearchListener implements MessageCallback, ProfileCallback
         }
     }
     
+    // TODO Document.
     public void run(Message message)
     {
         if (message == null)
@@ -47,6 +55,7 @@ public class SearchListener implements MessageCallback, ProfileCallback
         }
     }
     
+    // TODO Document.
     public void run(Profile profile)
     {
         notifyListeners(profile);</diff>
      <filename>src/main/java/org/curlybraces/synapse/SearchListener.java</filename>
    </modified>
    <modified>
      <diff>@@ -2,20 +2,25 @@ package org.curlybraces.synapse;
 
 import java.util.UUID;
 
+// TODO Document.
 public class SetProfile extends Command
 {
+    // TODO Document.
     private Profile profile;
 
+    // TODO Document.
     public SetProfile()
     {
     }
     
+    // TODO Document.
     public SetProfile(Stamp stamp, Profile profile)
     {
         super(stamp);
         this.profile = profile;
     }
     
+    // TODO Document.
     @Override
     public void execute(Node node, SynapseQueue queue, Synapse synapse)
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/SetProfile.java</filename>
    </modified>
    <modified>
      <diff>@@ -3,27 +3,34 @@ package org.curlybraces.synapse;
 import java.util.Date;
 import java.util.UUID;
 
+// TODO Document.
 public class Stamp
 {
+    // TODO Document.
     private UUID id;
     
+    // TODO Document.
     private Date date;
     
+    // TODO Document.
     public Stamp()
     {
     }
     
+    // TODO Document.
     public Stamp(UUID id, Date date)
     {
         this.id = id;
         this.date = date;
     }
     
+    // TODO Document.
     public UUID getId()
     {
         return id;
     }
     
+    // TODO Document.
     public Date getDate()
     {
         return date;</diff>
      <filename>src/main/java/org/curlybraces/synapse/Stamp.java</filename>
    </modified>
    <modified>
      <diff>@@ -5,21 +5,26 @@ import java.util.SortedMap;
 import java.util.TreeMap;
 import java.util.UUID;
 
+// TODO Document.
 public class Storage&lt;T&gt;
 {
+    // TODO Document.
     private final SortedMap&lt;UUID, Bin&lt;T&gt;&gt; mapOfBins;
     
+    // TODO Document.
     public Storage()
     {
         this.mapOfBins = new TreeMap&lt;UUID, Bin&lt;T&gt;&gt;(Collections.reverseOrder());
     }
     
+    // TODO Document.
     public void create(UUID min, UUID max)
     {
         Bin&lt;T&gt; bin = new Bin&lt;T&gt;(max);
         mapOfBins.put(min, bin);
     }
     
+    // TODO Document.
     public Bin&lt;T&gt; get(UUID id)
     {
         SortedMap&lt;UUID, Bin&lt;T&gt;&gt; tail = mapOfBins.tailMap(id);</diff>
      <filename>src/main/java/org/curlybraces/synapse/Storage.java</filename>
    </modified>
    <modified>
      <diff>@@ -13,29 +13,37 @@ import java.util.UUID;
  */
 public class Synapse
 {
+    // TODO Document.
     private UUID id;
     
+    // TODO Document.
     private List&lt;URL&gt; visited = new ArrayList&lt;URL&gt;();
     
+    // TODO Document.
     private List&lt;Command&gt; executed = new ArrayList&lt;Command&gt;();
 
+    // TODO Document.
     private LinkedList&lt;Command&gt; commands = new LinkedList&lt;Command&gt;();
     
+    // TODO Document.
     public Synapse()
     {
     }
     
+    // TODO Document.
     public Synapse(Command... commands)
     {
         push(commands);
         this.id = UUID.randomUUID();
     }
     
+    // TODO Document.
     public UUID getId()
     {
         return id;
     }
     
+    // TODO Document.
     public void shift(Command... inserts)
     {
         for (int i = 0; i &lt; inserts.length; i++)
@@ -44,6 +52,7 @@ public class Synapse
         }
     }
     
+    // TODO Document.
     public void push(Command... appends)
     {
         for (int i = 0; i &lt; appends.length; i++)
@@ -52,6 +61,7 @@ public class Synapse
         }
     }
     
+    // TODO Document.
     public void execute(Node node, SynapseQueue queue)
     {
         Command command = commands.removeFirst();</diff>
      <filename>src/main/java/org/curlybraces/synapse/Synapse.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,13 +1,18 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public class SynapseExecutor implements Executor
 {
+    // TODO Document.
     private final Node node;
     
+    // TODO Document.
     private final SynapseQueue queue;
     
+    // TODO Document.
     private final Synapse synapse;
     
+    // TODO Document.
     public SynapseExecutor(Node node, SynapseQueue queue, Synapse synapse)
     {
         this.node = node;
@@ -15,6 +20,7 @@ public class SynapseExecutor implements Executor
         this.synapse = synapse;
     }
     
+    // TODO Document.
     public void execute()
     {
         synapse.execute(node, queue);</diff>
      <filename>src/main/java/org/curlybraces/synapse/SynapseExecutor.java</filename>
    </modified>
    <modified>
      <diff>@@ -8,15 +8,19 @@ import javax.servlet.http.HttpServletResponse;
 
 import org.mortbay.jetty.handler.AbstractHandler;
 
+// TODO Document.
 public class SynapseJettyHandler extends AbstractHandler
 {
+    // TODO Document.
     private final SynapseService service;
     
+    // TODO Document.
     public SynapseJettyHandler(Node node)
     {
         this.service = new SynapseService(node);
     }
     
+    // TODO Document.
     public void handle(String target, HttpServletRequest request,
             HttpServletResponse response, int dispatch)
         throws IOException, ServletException</diff>
      <filename>src/main/java/org/curlybraces/synapse/SynapseJettyHandler.java</filename>
    </modified>
    <modified>
      <diff>@@ -3,18 +3,23 @@ package org.curlybraces.synapse;
 import java.net.URL;
 import java.util.LinkedList;
 
+// TODO Document.
 public class SynapseQueue
 {
+    // TODO Document.
     private final Node node;
 
+    // TODO Document.
     private final LinkedList&lt;Executor&gt; listOfExecutors;
     
+    // TODO Document.
     public SynapseQueue(Node node, LinkedList&lt;Executor&gt; listOfExecutors)
     {
         this.node = node;
         this.listOfExecutors = listOfExecutors;
     }
     
+    // TODO Document.
     public void enqueue(URL url, Synapse synapse)
     {
         if (url.equals(node.getURL()))
@@ -27,6 +32,7 @@ public class SynapseQueue
         }
     }
     
+    // TODO Document.
     public void enqueue(Synapse synapse)
     {
         listOfExecutors.addLast(new SynapseExecutor(node, this, synapse));</diff>
      <filename>src/main/java/org/curlybraces/synapse/SynapseQueue.java</filename>
    </modified>
    <modified>
      <diff>@@ -15,22 +15,28 @@ import org.jibx.runtime.JiBXException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+// TODO Document.
 public class SynapseService
 {
+    // TODO Document.
     private final Logger logger = LoggerFactory.getLogger(SynapseService.class);
 
+    // TODO Document.
     private final Node node;
 
+    // TODO Document.
     public SynapseService(Node node)
     {
         this.node = node;
     }
     
+    // TODO Document.
     public Node getNode()
     {
         return node;
     }
     
+    // TODO Document.
     public void post(HttpServletRequest request, HttpServletResponse response)
     throws ServletException, IOException
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/SynapseService.java</filename>
    </modified>
    <modified>
      <diff>@@ -15,10 +15,13 @@ import javax.servlet.http.HttpServletResponse;
  */
 public class SynapseServlet extends HttpServlet
 {
+    // TODO Document.
     private static final long serialVersionUID = 1L;
 
+    // TODO Document.
     private SynapseService service;
     
+    // TODO Document.
     @Override
     public void init(ServletConfig config) throws ServletException
     {
@@ -30,6 +33,7 @@ public class SynapseServlet extends HttpServlet
      * This servlet handles only the POST method by delegating the 
      * handling to the single {@link Node} instance for this servlet. 
      */
+    // TODO Document.
     @Override
     protected void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException</diff>
      <filename>src/main/java/org/curlybraces/synapse/SynapseServlet.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,53 +1,69 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public class Term implements Comparable&lt;Term&gt;
 {
+    // TODO Document.
     public final static Term MIN_TERM = new Term(&quot;&quot;, (short) 0);
     
+    // TODO Document.
     public final static Term MAX_TERM = new Term(&quot;&quot;, Short.MAX_VALUE);
     
+    // TODO Document.
     public final static short KEYWORD = 1;
     
+    // TODO Document.
     public final static short PROFILE_ID = 2;
     
+    // TODO Document.
     public final static short SHORTENED_URL = 3;
     
+    // TODO Document.
     public final static short FULL_URL = 4;
     
+    // TODO Document.
     private String word;
     
+    // TODO Document.
     private short type;
     
+    // TODO Document.
     public Term()
     {
     }
     
+    // TODO Document.
     public Term(String word, short type)
     {
         this.word = word;
         this.type = type;
     }
     
+    // TODO Document.
     public void setWord(String word)
     {
         this.word = word;
     }
     
+    // TODO Document.
     public String getWord()
     {
         return word;
     }
     
+    // TODO Document.
     public void setType(short type)
     {
         this.type = type;
     }
     
+    // TODO Document.
     public short getType()
     {
         return type;
     }
     
+    // TODO Document.
     public int compareTo(Term term)
     {
         int compare = type - term.type;
@@ -58,6 +74,7 @@ public class Term implements Comparable&lt;Term&gt;
         return compare;
     }
     
+    // TODO Document.
     @Override
     public boolean equals(Object object)
     {
@@ -69,6 +86,7 @@ public class Term implements Comparable&lt;Term&gt;
         return false;
     }
     
+    // TODO Document.
     @Override
     public int hashCode()
     {
@@ -78,6 +96,7 @@ public class Term implements Comparable&lt;Term&gt;
         return hash;
     }
     
+    // TODO Document.
     public String toString()
     {
         switch (getType())</diff>
      <filename>src/main/java/org/curlybraces/synapse/Term.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,10 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public class TerminalTask
 extends Task
 {
+    // TODO Document.
     @Override
     public boolean isTerminal()
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/TerminalTask.java</filename>
    </modified>
    <modified>
      <diff>@@ -3,59 +3,72 @@ package org.curlybraces.synapse;
 import java.util.Date;
 import java.util.UUID;
 
+// TODO Document.
 public class Token
 {
+    // TODO Document.
     private UUID messageId;
     
+    // TODO Document.
     private Date date;
     
+    // TODO Document.
     private Term term;
        
+    // TODO Document.
     public Token()
     {
     }
 
+    // TODO Document.
     public UUID getMessageId()
     {
         return messageId;
     }
     
+    // TODO Document.
     public void setMessageId(UUID id)
     {
         this.messageId = id;
     }
     
+    // TODO Document.
     public void setId(String id)
     {
         setMessageId(UUID.fromString(id)); 
     }
     
+    // TODO Document.
     public Date getDate()
     {
         return date;
     }
 
+    // TODO Document.
     public void setDate(Date date)
     {
         this.date = date;
     }
     
+    // TODO Document.
     public void setTerm(Term term)
     {
         this.term = term;
     }
     
+    // TODO Document.
     public Term getTerm()
     {
         return term;
     }
     
+    // TODO Document.
     public String toString()
     {
         return &quot;{ missive: &quot; + messageId + &quot;, term : &quot; + term +  &quot;}&quot;; 
     }
     
-    
+    // TODO Document.
     @Override
     public boolean equals(Object object)
     {
@@ -69,6 +82,7 @@ public class Token
         return false;
     }
     
+    // TODO Document.
     @Override
     public int hashCode()
     {</diff>
      <filename>src/main/java/org/curlybraces/synapse/Token.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,8 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public interface TokenCallback
 {
+    // TODO Document.
     public void run(Token[] tokens);
 }</diff>
      <filename>src/main/java/org/curlybraces/synapse/TokenCallback.java</filename>
    </modified>
    <modified>
      <diff>@@ -3,8 +3,10 @@ package org.curlybraces.synapse;
 import java.util.ArrayList;
 import java.util.List;
 
+// TODO Document.
 public class Tokenizer
 {
+    // TODO Document.
     public List&lt;Token&gt; tokenize(Message message)
     {
         List&lt;Token&gt; terms = new ArrayList&lt;Token&gt;();</diff>
      <filename>src/main/java/org/curlybraces/synapse/Tokenizer.java</filename>
    </modified>
    <modified>
      <diff>@@ -3,14 +3,18 @@ package org.curlybraces.synapse;
 import java.util.List;
 import java.util.UUID;
 
+// TODO Document.
 public class Update extends Command
 {
+    // TODO Document.
     private Message message;
 
+    // TODO Document.
     public Update()
     {
     }
 
+    // TODO Document.
     public Update(Stamp stamp, Message message)
     {
         super(stamp);</diff>
      <filename>src/main/java/org/curlybraces/synapse/Update.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,15 +1,18 @@
 package org.curlybraces.synapse;
 
-
+// TODO Document.
 public class UpdateCallback implements Runnable
 {
+    // TODO Document.
     private final UpdateListener listener;
 
+    // TODO Document.
     public UpdateCallback(UpdateListener listener)
     {
         this.listener = listener;
     }
 
+    // TODO Document.
     public void run()
     {
         listener.updated();</diff>
      <filename>src/main/java/org/curlybraces/synapse/UpdateCallback.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,18 @@
 package org.curlybraces.synapse;
 
-
+// TODO Document.
 public class UpdateListener
 {
+    // TODO Document.
     private final Node node;
     
+    // TODO Document.
     private final Message message;
 
+    // TODO Document.
     private int count;
     
+    // TODO Document.
     public UpdateListener(Node node, Message message, int count)
     {
         this.node = node;
@@ -16,6 +20,7 @@ public class UpdateListener
         this.count = count;
     }
     
+    // TODO Document.
     public void updated()
     {
         if (--count == 0)</diff>
      <filename>src/main/java/org/curlybraces/synapse/UpdateListener.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,27 +1,34 @@
 package org.curlybraces.synapse;
 
+// TODO Document.
 public class Verification
 {
+    // TODO Document.
     private Executor executor;
     
+    // TODO Document.
     private String message;
     
+    // TODO Document.
     public Verification()
     {
         this.executor = new FailureExecutor();
     }
     
+    // TODO Document.
     public Verification(Executor executor, String message)
     {
         this.executor = executor;
         this.message = message;
     }
     
+    // TODO Document.
     public Executor getExecutor()
     {
         return executor;
     }
     
+    // TODO Document.
     public String getMessage()
     {
         return message;</diff>
      <filename>src/main/java/org/curlybraces/synapse/Verification.java</filename>
    </modified>
    <modified>
      <diff>@@ -9,33 +9,32 @@ import java.util.TreeMap;
  * A volume can mirror itself. The mirror it tighly knit in that all of the
  * mirrors are aware of each other's existence. If there is a split in the
  * volume, all the mirrors are notified of the split.
- * &lt;/p&gt;
  * &lt;p&gt;
  * A volume is the end point for an entry. Entries are gathered, mirrors are not
  * notified for each injected term. Instead, after a period of time has passed,
  * the terms are put into historical entries, shuffled back into the entry skip
  * list. Parent is notified of alternates after split like a router.
- * &lt;/p&gt;
  * &lt;p&gt;
  * In a search, if a node is receiving an entry once a second, after twenty
  * seconds, it will tell twenty seconds ago in the skip list about these. Twenty
  * seconds ago in the skip list, will tell three minutes ago. Provided no one is
  * injecting a lot of stuff into a year ago, the skip list is going to build new
  * and go old, not adjust much.
- * &lt;/p&gt;
  * &lt;p&gt;
  * What if someone is pouring terms into a year ago? Maybe that is not allowed.
  * Maybe it needs to be authorized. How do skip lists grow? 
- * &lt;/p&gt;
  * 
  * @author Alan Gutierrez
  */
 public class Volume
 {
+    // TODO Document.
     private final Map&lt;Term, Entry&gt; mapOfEntries;
 
+    // TODO Document.
     private final Term end;
 
+    // TODO Document.
     public Volume(Term end)
     {
         this.end = end;</diff>
      <filename>src/main/java/org/curlybraces/synapse/Volume.java</filename>
    </modified>
    <modified>
      <diff>@@ -25,16 +25,20 @@ import org.mortbay.jetty.Connector;
 import org.mortbay.jetty.Server;
 import org.mortbay.jetty.bio.SocketConnector;
 
+// TODO Document.
 public class UI
 {
+    // TODO Document.
     private final boolean isMac;
     
+    // TODO Document.
     public UI()
     {
         String os = System.getProperty(&quot;os.name&quot;).toLowerCase();
         this.isMac = os.startsWith(&quot;mac os x&quot;);
     }
     
+    // TODO Document.
     public void start() throws Exception
     {
         UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
@@ -116,6 +120,7 @@ public class UI
         frame.setVisible(true);
     }
     
+    // TODO Document.
     public static void main(String[] args) throws Exception
     {
         new UI().start();</diff>
      <filename>src/main/java/org/curlybraces/synapse/ui/UI.java</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>25844d2de84af5edc6325ecc89899cf4a33b0984</id>
    </parent>
  </parents>
  <author>
    <name>Alan Gutierrez</name>
    <email>alan@blogometer.com</email>
  </author>
  <url>http://github.com/bigeasy/synapse/commit/587157dd659785efab635285a1f6584bfed5a2a9</url>
  <id>587157dd659785efab635285a1f6584bfed5a2a9</id>
  <committed-date>2009-03-09T11:21:13-07:00</committed-date>
  <authored-date>2009-03-09T11:21:13-07:00</authored-date>
  <message>- Documenation TODOs.</message>
  <tree>6757625ce849a68c37225de5902678ab32327b99</tree>
  <committer>
    <name>Alan Gutierrez</name>
    <email>alan@blogometer.com</email>
  </committer>
</commit>
