code: protected boolean isLegalEmphOrStrongStartPos(){
          if( currentIndex() == 0 )
              return true;
  
          Object lastItem = peek(1);
          Class<?> lastClass = lastItem.getClass();
  
          SuperNode supernode;
          while( SuperNode.class.isAssignableFrom(lastClass) ) {
              supernode = (SuperNode) lastItem;
  
              if(supernode.getChildren().size() < 1 )
                  return true;
              
              lastItem = supernode.getChildren().get( supernode.getChildren().size()-1 );
              lastClass = lastItem.getClass();
          }
                  
          return     ( TextNode.class.equals(lastClass) && ( (TextNode) lastItem).getText().endsWith(" ") )
                  || ( SimpleNode.class.equals(lastClass) )
                  || ( java.lang.Integer.class.equals(lastClass) );
      }
docs: This method checks if current position is a legal start position for a
  strong or emph sequence by checking the last parsed character(-sequence).