This is the support section for those modding with Forge. Help with modding goes in here, however, please keep in mind that this is not a Java school. You are expected to have basic knowledge of Java before posting here.
LazyOptional is just that: An optional value that is computed lazily.
No, you need to create a combined IItemHandler by using CombinedInvWrapper.
This should not happen inside getCapability, you should create this handler and the LazyOptional once (in your class' constructor) and then just return the value in getCapability.