}
private void createSubgraphs(final String parent, final Subgraph graph, final Class<?> entityClass,
final Map<String, ObjectGraph> entitySubgraphs, final Set<String> processed) {
for (final Map.Entry<String, ObjectGraph> entry : entitySubgraphs.entrySet()) {
final Subgraph subgraph = graph.addSubgraph(entry.getKey());
final ObjectGraph entityGraph = entry.getValue();
String path = parent + "." + entry.getKey();
final Set<String> fields = entityGraph.getFields(path);
if (!fields.isEmpty()) {
subgraph.addAttributeNodes(fields.toArray(new String[fields.size()]));
}
final Map<String, ObjectGraph> subgraphs = entityGraph.getSubgraphs();
final Class<?> subEntityClass = entityGraph.getEntityClass();
final String processedSubgraph = getProcessedSubgraph(entityClass, entry.getKey(), subEntityClass);