code: private Set<String> getAllComponentClasses(DeploymentUnit deploymentUnit, CompositeIndex index, SipMetaData sipMetaData,
              SipAnnotationMetaData sipAnnotationMetaData) {
          final Set<String> classes = new HashSet<String>();
          if (sipAnnotationMetaData != null) {
              for (Map.Entry<String, SipMetaData> metaData : sipAnnotationMetaData.entrySet()) {
                  getAllComponentClasses(metaData.getValue(), classes);
              }
          }
          // if (metaData.getAnnotationsMetaData() != null)
          // for (Map.Entry<String, WebMetaData> webMetaData : metaData.getAnnotationsMetaData().entrySet()) {
          // getAllComponentClasses(webMetaData.getValue(), classes);
          // }
          // if (metaData.getSharedWebMetaData() != null)
          // getAllComponentClasses(metaData.getSharedWebMetaData(), classes);
          // if (metaData.getWebFragmentsMetaData() != null)
          // for (Map.Entry<String, WebFragmentMetaData> webMetaData : metaData.getWebFragmentsMetaData().entrySet()) {
          // getAllComponentClasses(webMetaData.getValue(), classes);
          // }
          if (sipMetaData != null) {
              getAllComponentClasses(sipMetaData, classes);
          }
          // if (metaData.getWebMetaData() != null)
          // getAllComponentClasses(metaData.getWebMetaData(), classes);
          // if (tldsMetaData == null)
          // return classes;
          // if (tldsMetaData.getSharedTlds(deploymentUnit) != null)
          // for (TldMetaData tldMetaData : tldsMetaData.getSharedTlds(deploymentUnit)) {
          // getAllComponentClasses(tldMetaData, classes);
          // }
          // if (tldsMetaData.getTlds() != null)
          // for (Map.Entry<String, TldMetaData> tldMetaData : tldsMetaData.getTlds().entrySet()) {
          // getAllComponentClasses(tldMetaData.getValue(), classes);
          // }
          // getAllAsyncListenerClasses(index, classes);
          return classes;
      }
docs: Gets all classes that are eligible for injection etc
  
  @param metaData
  @return