private Content getInheritedTagletOutput ( boolean isParameters , Element holder , TagletWriter writer , List < ? extends Element > formalParameters , Set < String > alreadyDocumented ) { Utils utils = writer . configuration ( ) . utils ; Content result = writer . getOutputInstance ( ) ; if ( ( ! alreadyDocumented . contains ( null ) ) && utils . isExecutableElement ( holder ) ) { for ( int i = 0 ; i < formalParameters . size ( ) ; i ++ ) { if ( alreadyDocumented . contains ( String . valueOf ( i ) ) ) { continue ; } // This parameter does not have any @param documentation. // Try to inherit it. Input input = new DocFinder . Input ( writer . configuration ( ) . utils , holder , this , Integer . toString ( i ) , ! isParameters ) ; DocFinder . Output inheritedDoc = DocFinder . search ( writer . configuration ( ) , input ) ; if ( inheritedDoc . inlineTags != null && ! inheritedDoc . inlineTags . isEmpty ( ) ) { Element e = formalParameters . get ( i ) ; String lname = isParameters ? utils . getSimpleName ( e ) : utils . getTypeName ( e . asType ( ) , false ) ; CommentHelper ch = utils . getCommentHelper ( holder ) ; ch . setOverrideElement ( inheritedDoc . holder ) ; Content content = processParamTag ( holder , isParameters , writer , inheritedDoc . holderTag , lname , alreadyDocumented . isEmpty ( ) ) ; result . addContent ( content ) ; } alreadyDocumented . add ( String . valueOf ( i ) ) ; } } return result ; }
Loop through each individual parameter despite not having a corresponding param tag try to inherit it .