@Override
 public long ramBytesUsed() {
   long sizeInBytes = postingsReader.ramBytesUsed();
   for (FieldReader reader : fields.values()) {
     sizeInBytes += reader.ramBytesUsed();
   }
   return sizeInBytes;
 }
 @Override
 public long ramBytesUsed() {
   long ramBytesUsed = postingsReader.ramBytesUsed();
   for (TermsReader r : fields.values()) {
     ramBytesUsed += r.ramBytesUsed();
   }
   return ramBytesUsed;
 }
 @Override
 public long ramBytesUsed() {
   long ramBytesUsed = BASE_RAM_BYTES_USED;
   ramBytesUsed += (postingsReader != null) ? postingsReader.ramBytesUsed() : 0;
   ramBytesUsed += (indexReader != null) ? indexReader.ramBytesUsed() : 0;
   ramBytesUsed += fields.size() * 2L * RamUsageEstimator.NUM_BYTES_OBJECT_REF;
   for (FieldReader reader : fields.values()) {
     ramBytesUsed += reader.ramBytesUsed();
   }
   return ramBytesUsed;
 }