public void merge(Target target)
    {
        if(hashCode() != target.hashCode())
            throw new DeveloperError("Targets with non-matching <match> segments cannot be merged!");
        Iterator iterator = target.getInputs().iterator();
        Iterator iterator1 = target.getReplies().iterator();
        Iterator iterator2 = target.getExtensions().iterator();
        while(iterator.hasNext()) 
        {
            StringTriple stringtriple = (StringTriple)iterator.next();
            StringTriple stringtriple1 = null;
            try
            {
                stringtriple1 = (StringTriple)iterator2.next();
            }
            catch(NoSuchElementException nosuchelementexception) { }
            String s = (String)iterator1.next();
            if(!inputs.contains(stringtriple))
            {
                inputs.add(stringtriple);
                replies.add(s);
                if(stringtriple1 != null)
                    extensions.add(stringtriple1);
            }
        }
        if(inputs.size() != replies.size())
        {
            throw new DeveloperError("Merge operation failed to maintain stable activation count.");
        } else
        {
            activations = inputs.size();
            return;
        }
    }