if (map == null) {
// First tries to get a view for the cell. If no view is available
// tries to get the attributes from the model. Then stores a local
// clone and associate it with the cell for future reference.
CellView view = null;
// Treat the bounds as a special case. If available, get the bounds
// from the view, since this will return the correct bounds for
// group cells
Rectangle2D bounds = null;
if (graphLayoutCache != null) {
view = graphLayoutCache.getMapping(cell, false);
}
if (view != null) {
map = view.getAllAttributes();
bounds = (Rectangle2D)view.getBounds().clone();
}
if (map == null)
map = model.getAttributes(cell);
if (map != null) {
map = (AttributeMap) map.clone();