Binder binder = new Binder(loadColumns, false, primaryKeyColumns, null, true);
buildModifyBindColumns(container, binder);
Session session = persistenceSession.driverSession();
PreparedStatement pstmt = preparedStatements
.statementFor(session, PreparedStatements.StatementType.SELECT, binder, persistOptions);
BoundStatement bStmt = pstmt.bind();
statementOptions.applyRead(bStmt, readConsistencyLevel, persistOptions);
PersistOption.forBoundStatement(persistOptions, bStmt);
int idx = binder.bindColumns(0, bStmt);
PersistOption.LimitOption.apply(bStmt, persistOptions, idx);
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Lazy load of {} attributes for {}", attrs.length, type);
}
ResultSet resultSet = session.execute(bStmt);
Row row = resultSet.one();
if (row != null) {
Retriever retriever = new GettableRetriever(persistenceSession.persistenceManager.protocolVersion, row, loadColumns);
for (MappedAttribute attr : attrs) {
Object instance = resolveParentInstance(container, attr);