code: protected boolean loadMore()
          throws XMLStreamException
      {
          WstxInputSource input = mInput;
          do {
              /* Need to make sure offsets are properly updated for error
               * reporting purposes, and do this now while previous amounts
               * are still known.
               */
              mCurrInputProcessed += mInputEnd;
              verifyLimit("Maximum document characters", mConfig.getMaxCharacters(), mCurrInputProcessed);
              mCurrInputRowStart -= mInputEnd;
              int count;
              try {
                  count = input.readInto(this);
                  if (count > 0) {
                      return true;
                  }
                  input.close();
              } catch (IOException ioe) {
                  throw constructFromIOE(ioe);
              }
              if (input == mRootInput) {
                  /* Note: no need to check entity/input nesting in this
                   * particular case, since it will be handled by higher level
                   * parsing code (results in an unexpected EOF)
                   */
                  return false;
              }
              WstxInputSource parent = input.getParent();
              if (parent == null) { // sanity check!
                  throwNullParent(input);
              }
              /* 13-Feb-2006, TSa: Ok, do we violate a proper nesting constraints
               *   with this input block closure?
               */
              if (mCurrDepth != input.getScopeId()) {
                  handleIncompleteEntityProblem(input);
              }
  
              mInput = input = parent;
              input.restoreContext(this);
              mInputTopDepth = input.getScopeId();
              /* 21-Feb-2006, TSa: Since linefeed normalization needs to be
               *   suppressed for internal entity expansion, we may need to
               *   change the state...
               */
              if (!mNormalizeLFs) {
                  mNormalizeLFs = !input.fromInternalEntity();
              }
              // Maybe there are leftovers from that input in buffer now?
          } while (mInputPtr >= mInputEnd);
  
          return true;
      }
docs: Method that will try to read one or more characters from currently
  open input sources; closing input sources if necessary.
  
  @return true if reading succeeded (or may succeed), false if
  we reached EOF.