protected Array _read ( ) throws IOException { // caching overrides the proxyReader // check if already cached if ( cache . data != null ) { if ( debugCaching ) System . out . println ( "got data from cache " + getFullName ( ) ) ; return cache . data . copy ( ) ; } Array data = proxyReader . reallyRead ( this , null ) ; // optionally cache it if ( isCaching ( ) ) { setCachedData ( data ) ; if ( debugCaching ) System . out . println ( "cache " + getFullName ( ) ) ; return cache . data . copy ( ) ; // dont let users get their nasty hands on cached data } else { return data ; } }
non - structure - member Variables .