/** Builds up the method meta data for this type */
  private Map<String, ExecutableMetaData> byIdentifier(Set<ExecutableMetaData> executables) {
    Map<String, ExecutableMetaData> theValue = newHashMap();

    for (ExecutableMetaData executableMetaData : executables) {
      theValue.put(executableMetaData.getIdentifier(), executableMetaData);
    }

    return theValue;
  }
  private Map<String, ConstructorDescriptor> getConstrainedConstructorsAsDescriptors() {
    Map<String, ConstructorDescriptor> constrainedMethodDescriptors = newHashMap();

    for (ExecutableMetaData executableMetaData : executableMetaDataMap.values()) {
      if (executableMetaData.getKind() == ElementKind.CONSTRUCTOR
          && executableMetaData.isConstrained()) {
        constrainedMethodDescriptors.put(
            executableMetaData.getIdentifier(),
            executableMetaData.asDescriptor(
                defaultGroupSequenceIsRedefined(), getDefaultGroupSequence(null)));
      }
    }

    return constrainedMethodDescriptors;
  }