code: public static long getLong(String prop, DatasetDescriptor descriptor,
                               long defaultValue) {
      if (descriptor.hasProperty(prop)) {
        String asString = descriptor.getProperty(prop);
        try {
          return Long.parseLong(asString);
        } catch (NumberFormatException e) {
          // return the default value
        }
      }
      return defaultValue;
    }
docs: Returns the value of the property parsed as a long, or the default value.
  <p>
  If the value cannot be parsed as a long, this will return the default
  value.
  
  @param prop a String property name
  @param descriptor a {@link DatasetDescriptor}
  @param defaultValue default value if prop is not present or is invalid
  @return the value of prop parsed as a long or the default value