public void load(ByteArrayBuffer buffer) throws IOException {
synchronized (this) {
    Source classPath=getClassPath();
    buffer.clear();
    int retry=3;
    for (int i=0; i < retry; i++) {
      long length=-1;
      try (InputStream is=classPath.inputStream()){
        length=classPath.length();
        long lastModified=classPath.getLastModified();
        if (length < 0)         throw new IOException("class loading failed because class file '" + classPath + "' does not have a positive length.  Possibly the file has been overwritten");
        buffer.setLength((int)length);
        int results=IoUtil.readAll(is,buffer.getBuffer(),0,(int)length);
        if (results == length && length == classPath.length() && lastModified == classPath.getLastModified()) {
          return;
        }
        log.warning(L.l("{0}: class file length mismatch expected={1} received={2}.  The class file may have been modified concurrently.",this,length,results));
      }
     }
  }
}

public void load ( ByteArrayBuffer buffer ) throws IOException { synchronized ( this ) { Source classPath = getClassPath ( ) ; buffer . clear ( ) ; int retry = 3 ; for ( int i = 0 ; i < retry ; i ++ ) { long length = - 1 ; try ( InputStream is = classPath . inputStream ( ) ) { length = classPath . length ( ) ; long lastModified = classPath . getLastModified ( ) ; if ( length < 0 ) throw new IOException ( "class loading failed because class file '" + classPath + "' does not have a positive length.  Possibly the file has been overwritten" ) ; buffer . setLength ( ( int ) length ) ; int results = IoUtil . readAll ( is , buffer . getBuffer ( ) , 0 , ( int ) length ) ; if ( results == length && length == classPath . length ( ) && lastModified == classPath . getLastModified ( ) ) { return ; } log . warning ( L . l ( "{0}: class file length mismatch expected={1} received={2}.  The class file may have been modified concurrently." , this , length , results ) ) ; } } } }
loads the contents of the class file into the buffer .
