class ReusableRecordsAllocator implements DynamicRecordAllocator {

    @Override
    public DynamicRecord nextRecord()
    {
        DynamicRecord record = recordIterator.next();
        if ( !record.inUse() )
        {
            record.setCreated();
        }
        record.setInUse( true );
        return record;
    }

    public  ReusableRecordsAllocator( int recordSize, DynamicRecord... records );
    public  ReusableRecordsAllocator( int recordSize, Collection<DynamicRecord> records );
    public  ReusableRecordsAllocator( int recordSize, Iterator<DynamicRecord> recordsIterator );

}