public Map<String, Binding> getInformalParameterBindings() {
    Map<String, Binding> result = CollectionFactory.newMap();

    for (String name : NamedSet.getNames(bindings)) {
      if (componentModel.getParameterModel(name) != null) continue;

      result.put(name, bindings.get(name));
    }

    return result;
  }
 public ParameterConduit getParameterConduit(String parameterName) {
   try {
     acquireReadLock();
     return NamedSet.get(conduits, parameterName);
   } finally {
     releaseReadLock();
   }
 }
 private void createConduits() {
   try {
     upgradeReadLockToWriteLock();
     if (conduits == null) {
       conduits = NamedSet.create();
     }
   } finally {
     downgradeWriteLockToReadLock();
   }
 }
  private void resetParameterConduits() {
    try {
      acquireReadLock();

      if (conduits != null) {
        conduits.eachValue(RESET_PARAMETER_CONDUIT);
      }
    } finally {
      releaseReadLock();
    }
  }
  public void setParameterConduit(String parameterName, ParameterConduit conduit) {
    try {
      acquireReadLock();

      if (conduits == null) {
        createConduits();
      }

      conduits.put(parameterName, conduit);
    } finally {
      releaseReadLock();
    }
  }
 public Binding getBinding(String parameterName) {
   return NamedSet.get(bindings, parameterName);
 }
  public void bindParameter(String parameterName, Binding binding) {
    if (bindings == null) bindings = NamedSet.create();

    bindings.put(parameterName, binding);
  }