//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: protected boolean readAhead() throws java.io.IOException
        protected internal override bool ReadAhead()
        {
            _theOtherBuffer = _actual.read(_theOtherBuffer, _theOtherBuffer.front());
            string sourceDescriptionAfterRead = _actual.sourceDescription();

            if (!_sourceDescription.Equals(sourceDescriptionAfterRead))
            {
                _newSourceDescription = sourceDescriptionAfterRead;
            }

            return(_theOtherBuffer.hasAvailable());
        }