@Override
    public Optional<Map<String, EncryptionInformation>> getReadEncryptionInformation(
            ConnectorSession session,
            Table table,
            Optional<Set<HiveColumnHandle>> requestedColumns,
            Map<String, Partition> partitions)
    {
        Optional<DwrfTableEncryptionProperties> encryptionProperties = getTableEncryptionProperties(table);
        if (!encryptionProperties.isPresent()) {
            return Optional.empty();
        }

        Optional<Map<String, String>> fieldToKeyReference = getFieldToKeyReference(encryptionProperties.get(), requestedColumns);
        if (!fieldToKeyReference.isPresent()) {
            return Optional.empty();
        }

        return Optional.of(getReadEncryptionInformationInternal(session, table, requestedColumns, partitions, fieldToKeyReference.get(), encryptionProperties.get()));
    }
@Test
    public void testNotEncryptedTable()
    {
        Table table = createTable(DWRF, Optional.empty(), true);
        assertFalse(encryptionInformationSource.getReadEncryptionInformation(SESSION, table, Optional.of(ImmutableSet.of()), ImmutableMap.of()).isPresent());
        assertFalse(encryptionInformationSource.getReadEncryptionInformation(SESSION, table, Optional.of(ImmutableSet.of())).isPresent());
    }