private void handleFetchFromTarger(OSelectExecutionPlan result, OCommandContext ctx, boolean profilingEnabled) {
OFromItem target = this.target == null ? null : this.target.getItem();
if (target == null) {
handleNoTarget(result, ctx, profilingEnabled);
} else if (target.getIdentifier() != null) {
handleClassAsTarget(result, this.target, ctx, profilingEnabled);
} else if (target.getCluster() != null) {
handleClustersAsTarget(result, Collections.singletonList(target.getCluster()), ctx, profilingEnabled);
} else if (target.getClusterList() != null) {
handleClustersAsTarget(result, target.getClusterList().toListOfClusters(), ctx, profilingEnabled);
} else if (target.getStatement() != null) {
handleSubqueryAsTarget(result, target.getStatement(), ctx, profilingEnabled);
} else if (target.getFunctionCall() != null) {
throw new OCommandExecutionException("function call as target is not supported yet");
} else if (target.getInputParam() != null) {
handleInputParamAsTarget(result, target.getInputParam(), ctx, profilingEnabled);
} else if (target.getIndex() != null) {
handleIndexAsTarget(result, target.getIndex(), ctx, profilingEnabled);
} else if (target.getMetadata() != null) {
handleMetadataAsTarget(result, target.getMetadata(), ctx, profilingEnabled);
} else if (target.getRids() != null && target.getRids().size() > 0) {
handleRidsAsTarget(result, target.getRids(), ctx, profilingEnabled);
} else {
throw new UnsupportedOperationException();
}
}