public final ActionFeature getValueOf(final String key) {
   for (final ActionFeature feature : mFeatureList) {
     if (feature.getKey().equals(key)) {
       return feature;
     }
   }
   return null;
 }
 public final LinkedList<ActionFeature> copyFeatureList() {
   // Construct A List Copy
   final LinkedList<ActionFeature> copy = new LinkedList<>();
   // Copy Each Single Member
   for (final ActionFeature feature : mFeatureList) {
     copy.add(feature.getCopy());
   }
   // Return The Final Clone
   return copy;
 }
 @Override
 public final void writeXML(final IndentWriter stream) throws XMLWriteError {
   stream.println(
       "<ActionObject "
           + "lower=\""
           + mLower
           + "\" "
           + "upper=\""
           + mUpper
           + "\" "
           + "name=\""
           + mName
           + "\">");
   stream.push();
   for (final ActionFeature feature : mFeatureList) {
     feature.writeXML(stream);
     if (!feature.equals(mFeatureList.getLast())) {
       stream.endl();
     }
   }
   stream.pop();
   stream.print("</ActionObject>");
 }