private void TranslateParenthesisContent(TranslationData data, TempDataBlock dataBlock)
        {
            TranslationDataIterator iterator = data.GetIterator();
            Token token;
            int level = 0;
            while (iterator.Next(out token))
            {
                var segment = new TempDataSegment();

                switch (token.Term.Type)
                {
                    case TermType.IdentifierKey:
                        {
                            segment.Key = (int)this.GetTermKey(token);
                            break;
                        }

                    case TermType.Key:
                        {
                            JavaTermKey key = this.GetTermKey(token);
                            segment.Key = (int)key;
                            switch (key)
                            {
                                case JavaTermKey.ParenthesisLeft:
                                    {
                                        level++;
                                        break;
                                    }

                                case JavaTermKey.ParenthesisRight:
                                    {
                                        level--;
                                        if (level <= 0)
                                        {
                                            return;
                                        }

                                        break;
                                    }
                            }

                            break;
                        }
                }

                if (segment.Key == null)
                {
                    segment.Contents = token.Contents;
                }

                dataBlock.AddContent(segment);
            }
        }
        private void TranslateStatementContent(TranslationData data, TempDataBlock dataBlock)
        {
            TranslationDataIterator iterator = data.GetIterator();
            Token token;
            while (iterator.Next(out token))
            {
                var segment = new TempDataSegment();

                switch (token.Term.Type)
                {
                    case TermType.IdentifierKey:
                        {
                            segment.Key = (int)this.GetTermKey(token);
                            break;
                        }

                    case TermType.Key:
                        {
                            JavaTermKey key = this.GetTermKey(token);
                            segment.Key = (int)key;
                            switch (key)
                            {
                                case JavaTermKey.Semicolon:
                                    {
                                        return;
                                    }
                            }

                            break;
                        }
                }

                if (segment.Key == null)
                {
                    segment.Contents = token.Contents;
                }

                dataBlock.AddContent(segment);
            }
        }
        private void TranslateBraceContent(TranslationData data, TempDataBlock dataBlock)
        {
            TranslationDataIterator iterator = data.GetIterator();
            Token token;
            while (iterator.Next(out token))
            {
                var segment = new TempDataSegment();

                switch (token.Term.Type)
                {
                    case TermType.IdentifierKey:
                        {
                            segment.Key = (int)this.GetTermKey(token);
                            break;
                        }

                    case TermType.Key:
                        {
                            JavaTermKey key = this.GetTermKey(token);
                            segment.Key = (int)key;
                            switch (key)
                            {
                                case JavaTermKey.BraceLeft:
                                    {
                                        segment.Key = null;
                                        segment.BlockContents = new TempDataBlock();
                                        this.TranslateBraceContent(data, segment.BlockContents);
                                        dataBlock.AddContent(segment);
                                        continue;
                                    }

                                case JavaTermKey.BraceRight:
                                    {
                                        return;
                                    }
                            }

                            break;
                        }
                }

                // Only need the content if we don't know what this token is
                if (segment.Key == null)
                {
                    segment.Contents = token.Contents;
                }

                dataBlock.AddContent(segment);
            }
        }