code: private InputStream getSourceAsInputStream() throws IOException {
  	if (!mapping.hasArchive()) return IOUtil.toBufferedInputStream(getPhyscalFile().getInputStream());
  	else if (isLoad(LOAD_PHYSICAL)) return IOUtil.toBufferedInputStream(getPhyscalFile().getInputStream());
  	else if (isLoad(LOAD_ARCHIVE)) {
  	    StringBuffer name = new StringBuffer(_getPackageName().replace('.', '/'));
  	    if (name.length() > 0) name.append("/");
  	    name.append(getFileName());
  
  	    return mapping.getArchiveResourceAsStream(name.toString());
  	}
  	else {
  	    return null;
  	}
      }
docs: return the inputstream of the source file
  
  @return return the inputstream for the source from physical or archive
  @throws FileNotFoundException