public PRMSAnimationShapefileAttributeJoiningReader( ShapefileAttributeReader delegate, PRMSAnimationFileMetaData animationFileMetaData, int shapefileJoinAttributeIndex, int animationJoinValueOffset, int timeStepIndex) throws IOException { super(hack(delegate), null, null); // lame duck this.delegate = delegate; this.shapefileJoinAttributeIndex = shapefileJoinAttributeIndex; this.animationJoinValueOffset = animationJoinValueOffset; this.animationTimeStepRecordOffset = timeStepIndex * animationFileMetaData.getTimeStepRecordCount(); animationRecordBuffer = new PRMSAnimationRecordBuffer( animationFileMetaData, animationTimeStepRecordOffset, animationTimeStepRecordOffset + animationFileMetaData.getTimeStepRecordCount()); this.recordEntryDescriptors = animationFileMetaData.getRecordEntryDescriptors().toArray(new RecordEntryDescriptor[0]); }