Buggy code:
toExecute . createArgument ( ) . setValue ( expand ( bottom . getText ( ) ) ) ; } if ( ( classpath ) == null ) { classpath = Path . systemClasspath ; } else { classpath = classpath . concatSystemClasspath ( "ignore" ) ; } if ( ! ( Javadoc . javadoc1 ) ) { if ( ( classpath . size ( ) ) > 0 ) { toExecute . createArgument ( ) . setValue ( "-classpath" ) ; toExecute . createArgument ( ) . setPath ( classpath ) ; } if ( ( sourceDirs . size ( ) ) > 0 ) { toExecute . createArgument ( ) . setValue ( "-sourcepath" ) ; toExecute . createArgument ( ) . setPath ( sourceDirs ) ; } } else { sourceDirs . append ( classpath ) ; if ( ( sourceDirs . size ( ) ) > 0 ) { toExecute . createArgument ( ) . setValue ( "-classpath" ) ; toExecute . createArgument ( ) . setPath ( sourceDirs ) ; } } if ( ( version ) && ( ( doclet ) == null ) ) { toExecute . createArgument ( ) . setValue ( "-version" ) ; } if ( ( author ) && ( ( doclet ) == null ) ) { toExecute . createArgument ( ) . setValue ( "-author" ) ; } if ( ( Javadoc . javadoc1 ) || ( ( doclet ) == null ) ) { if ( ( destDir ) == null ) { String msg = "destDir<seq2seq4repair_space>attribute<seq2seq4repair_space>must<seq2seq4repair_space>be<seq2seq4repair_space>set!" ; throw new BuildException ( msg ) ; } } if ( ! ( Javadoc . javadoc1 ) ) { if ( ( doclet ) != null ) { if ( ( doclet . getName ( ) ) == null ) { throw new BuildException ( ( "The<seq2seq4repair_space>doclet<seq2seq4repair_space>name<seq2seq4repair_space>must<seq2seq4repair_space>be<seq2seq4repair_space>" + "specified." ) , getLocation ( ) ) ; } else { toExecute . createArgument ( ) . setValue ( "-doclet" ) ; toExecute . createArgument ( ) . setValue ( doclet . getName ( ) ) ; if ( ( doclet . getPath ( ) ) != null ) { Path docletPath = doclet . getPath ( ) . concatSystemClasspath ( "ignore" ) ; if ( ( docletPath . size ( ) ) != 0 ) { toExecute . createArgument ( ) . setValue ( "-docletpath" ) ; toExecute . createArgument ( ) . setPath ( docletPath ) ; } } for ( Enumeration e = doclet . getParams ( ) ; e . hasMoreElements ( ) ; ) { Javadoc . DocletParam param = ( ( Javadoc . DocletParam ) ( e . nextElement ( ) ) ) ; if ( ( param . getName ( ) ) == null ) { throw new BuildException ( ( "Doclet<seq2seq4repair_space>parameters<seq2seq4repair_space>must<seq2seq4repair_space>" + "have<seq2seq4repair_space>a<seq2seq4repair_space>name" ) ) ; } toExecute . createArgument ( ) . setValue ( param . getName ( ) ) ; if ( ( param . getValue ( ) ) != null ) { toExecute . createArgument ( ) . setValue ( param . getValue ( ) ) ; } } } } if ( ( ( bootclasspath ) != null ) && ( ( bootclasspath . size ( ) ) > 0 ) ) { toExecute . createArgument ( ) . setValue ( "-bootclasspath" ) ; toExecute . createArgument ( ) . setPath ( bootclasspath ) ; } if ( ( links . size ( ) ) != 0 ) { for ( Enumeration e = links . elements ( ) ; e . hasMoreElements ( ) ; ) { Javadoc . LinkArgument la = ( ( Javadoc . LinkArgument ) ( e . nextElement ( ) ) ) ; if ( ( ( la . getHref ( ) ) == null ) || ( ( la . getHref ( ) . length ( ) ) == 0 ) ) { log ( "No<seq2seq4repair_space>href<seq2seq4repair_space>was<seq2seq4repair_space>given<seq2seq4repair_space>for<seq2seq4repair_space>the<seq2seq4repair_space>link<seq2seq4repair_space>-<seq2seq4repair_space>skipping" , MSG_VERBOSE ) ; continue ; } else { try { URL base = new URL ( "file:////." ) ; <START_BUG> URL testHref = new URL ( base , la . getHref ( ) ) ; <END_BUG> } catch ( MalformedURLException mue ) { log ( ( ( "Link<seq2seq4repair_space>href<seq2seq4repair_space>\"" + ( la . getHref ( ) ) ) + "\"<seq2seq4repair_space>is<seq2seq4repair_space>not<seq2seq4repair_space>a<seq2seq4repair_space>valid<seq2seq4repair_space>url<seq2seq4repair_space>-<seq2seq4repair_space>skipping<seq2seq4repair_space>link" ) , MSG_WARN ) ; continue ; } } if ( la . isLinkOffline ( ) ) { File packageListLocation = la . getPackagelistLoc ( ) ; if ( packageListLocation == null ) { throw new BuildException ( ( ( ( ( "The<seq2seq4repair_space>package<seq2seq4repair_space>list<seq2seq4repair_space>" + "<seq2seq4repair_space>location<seq2seq4repair_space>for<seq2seq4repair_space>link<seq2seq4repair_space>" ) + ( la . getHref ( ) ) ) + "<seq2seq4repair_space>must<seq2seq4repair_space>be<seq2seq4repair_space>provided<seq2seq4repair_space>because<seq2seq4repair_space>the<seq2seq4repair_space>link<seq2seq4repair_space>is<seq2seq4repair_space>" ) + "offline" ) ) ; } File packageListFile = new File ( packageListLocation , "package-list" ) ; if ( packageListFile . exists ( ) ) { toExecute . createArgument ( ) . setValue ( "-linkoffline" ) ; toExecute . createArgument ( ) . setValue ( la . getHref ( ) ) ; toExecute . createArgument ( ) . setValue ( packageListLocation . getAbsolutePath ( ) ) ; } else { log ( ( "Warning:<seq2seq4repair_space>No<seq2seq4repair_space>package<seq2seq4repair_space>list<seq2seq4repair_space>was<seq2seq4repair_space>found<seq2seq4repair_space>at<seq2seq4repair_space>" + packageListLocation ) , MSG_VERBOSE ) ; } } else { toExecute . createArgument ( ) . setValue ( "-link" ) ; toExecute . createArgument ( ) . setValue ( la . getHref ( ) ) ; } } } if ( ( group ) != null ) { StringTokenizer tok = new StringTokenizer ( group , "," , false ) ; while ( tok . hasMoreTokens ( ) ) { String grp = tok . nextToken ( ) . trim ( ) ; int space = grp . indexOf ( "<seq2seq4repair_space>" ) ; if ( space > 0 ) { String name = grp . substring ( 0 , space ) ; String pkgList = grp . substring ( ( space + 1 ) ) ; toExecute . createArgument ( ) . setValue ( "-group" ) ; toExecute . createArgument ( ) . setValue ( name ) ;

Fix:
new URL ( base , la . getHref ( ) ) ;