示例#1
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: @Override public boolean incrementToken() throws java.io.IOException
        public override bool incrementToken()
        {
            if (input.incrementToken())
            {
                // capture state lazily - maybe no SinkFilter accepts this state
                AttributeSource.State state = null;
                foreach (WeakReference <SinkTokenStream> @ref in sinks)
                {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final SinkTokenStream sink = ref.get();
                    SinkTokenStream sink = @ref.get();
                    if (sink != null)
                    {
                        if (sink.accept(this))
                        {
                            if (state == null)
                            {
                                state = this.captureState();
                            }
                            sink.addState(state);
                        }
                    }
                }
                return(true);
            }

            return(false);
        }