Question: I am using this tree grid directive [github.com](https://github.com/khan4019/tree-grid-directive/), and below css is taken directly from this library.

```
.tree-grid .level-2 .indented {
    position : relative;
    left     : 20px;
}

<td><a ng-click="user_clicks_branch(row.branch)"><i ng-class="row.tree_icon" ng-click="row.branch.expanded = !row.branch.expanded" class="indented tree-icon"></i></a><span class="indented tree-label tree-grid-row level-2>
             Citi Corporate and Investment Banking</span>
            </td>

```

The problem i am having is that span inside td is overflow and showing in the next column, for that purpose i need to add right:20px, but it is not working.

Is there any solution to this problem
[plnkr.co](http://plnkr.co/edit/XHzJgtJvuVAmkKn5vgPd?p=preview)

Answer: 
If your service and controller are stateless, it's ok to inject one to another.

You should not declare any variable which keeps a state in these classes. final variables are ok.

If all operations are defined in methods and they don't use any variables of the classes, dependency injection that you're doing is totally safe.
That's why you need to use `@Autowired` when you declare a dependent service. Effectively handing the initialization process to the Spring framework instead of instantiating it yourself. Since Spring only has stateless beans, you're injecting one stateless singleton to another stateless singleton, so there's no need to manage thread manually.