if (query.isObjectLevelReadQuery()) {
ObjectLevelReadQuery objectQuery = (ObjectLevelReadQuery)query;
this.referenceClass = objectQuery.referenceClass;
this.distinctState = objectQuery.distinctState;
if (objectQuery.hasJoining()) {
JoinedAttributeManager thisManager = getJoinedAttributeManager();
JoinedAttributeManager queryManager = objectQuery.getJoinedAttributeManager();
thisManager.setJoinedAttributeExpressions_(queryManager.getJoinedAttributeExpressions());
thisManager.setJoinedMappingExpressions_(queryManager.getJoinedMappingExpressions());
thisManager.setJoinedMappingIndexes_(queryManager.getJoinedMappingIndexes_());
thisManager.setJoinedMappingQueries_(queryManager.getJoinedMappingQueries_());
thisManager.setOrderByExpressions_(queryManager.getOrderByExpressions_());
thisManager.setAdditionalFieldExpressions_(queryManager.getAdditionalFieldExpressions_());
}
if (objectQuery.hasBatchReadAttributes()) {
this.batchFetchPolicy = objectQuery.getBatchFetchPolicy().clone();
}
this.nonFetchJoinAttributeExpressions = objectQuery.nonFetchJoinAttributeExpressions;